midir
midir copied to clipboard
Support MIDI 2.0
... whatever that means. This is currently just a meta issue to collect information and ideas.
https://github.com/atsushieno/cmidi2
https://crates.io/crates/midi-control also mentions that it might want to support MIDI 2.0 eventually
@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?
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.
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
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.
@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
The latest news regardig MIDI 2.0 support in Windows: https://github.com/microsoft/MIDI