midir icon indicating copy to clipboard operation
midir copied to clipboard

Support MIDI 2.0

Open Boddlnagg opened this issue 4 years ago • 9 comments

... whatever that means. This is currently just a meta issue to collect information and ideas.

Boddlnagg avatar Dec 04 '20 16:12 Boddlnagg

https://github.com/atsushieno/cmidi2

Boddlnagg avatar Dec 04 '20 16:12 Boddlnagg

https://crates.io/crates/midi-control also mentions that it might want to support MIDI 2.0 eventually

Boddlnagg avatar Dec 04 '20 16:12 Boddlnagg

@Boddlnagg Do you know which windows API calls would be used to send MIDI 2.0 messages?

E.g. I want to use CCs with 32-bit resolution, they are 64-bit messages: https://www.soundonsound.com/music-business/introducing-midi-20

Would one just use midiOutLongMsg? So sending MIDI 2.0 msgs works over loopMIDI etc. without any change?

Boscop avatar Jan 04 '21 22:01 Boscop

I don't actually know. But what I understand (also from the article that you linked to) is this:

various vendors (including Yamaha and Steinberg) have been testing experimental systems with MIDI 2.0 data embedded in MIDI 1.0 SysEx messages for a while

So there's some way of "testing" MIDI 2.0 by just using SysEx messages. And that would be midiOutLongMsg.

But then, for true MIDI 2.0 support, Windows would need to provide new APIs, if I understand this correctly:

Native MIDI 2.0 software applications will require operating system support for the new message types and format before we can make effective use of it in the studio.

Boddlnagg avatar Jan 06 '21 08:01 Boddlnagg

Now that Logic supports MIDI 2.0 I may try to start hacking on this at some point.

Also, the president of the MIDI association says this:

A lot of MIDI 2.0 announcements were expected at the 2022 Winter NAMM, but that's been postponed to June 2022.

I think supporting MIDI 2.0 will be substantially more complicated than previous versions, now that it involves 2-way communication

anchpop avatar Dec 18 '21 18:12 anchpop

I am also excited about midi 2.0 support and started to write a crate to expose the types and utilities to support the complete set of specifications including CI.
It would have been great if midir could have supplied a testing environment. Although since my development machine is mac os and it seems that midi 2.0 is supported in the OS now, I might write a test program in the future. If I ever feel confident that I understand the backend APIs in mac os, I'd also love to contribute.

alisomay avatar Jan 08 '22 20:01 alisomay

@Boddlnagg you might be interested in this PR where I add support for the MIDI 2.0 protocol in CoreMIDI:

https://github.com/chris-zen/coremidi/pull/36

chris-zen avatar Mar 04 '22 23:03 chris-zen

The latest news regardig MIDI 2.0 support in Windows: https://github.com/microsoft/MIDI

Boddlnagg avatar Sep 18 '23 16:09 Boddlnagg