The Win2 MIDI has been stable for many years and years and is used in many Digital Area Workstations. Several major DAW's, like Cockos Reaper, never bothered to implement support for the new UWP MIDI APi that is the only API that provides access to BLE-MIDI devices.
I'd be curious to know what the plans with MIDI are in this project. Idially BLE-MIDI would be available through the old WIN32 API, but I assume that's a no go. Alternatively, it would help if there could be something like a drop in replacement that makes it possible for DAW authors to switch without too much afford, or give the end user the ability to use these new devices with older software.
CC @Psychlist1972, who recently blogged about BLE-MIDI related things.
Midi 2.0 support should be added to any new APIs
Hi All
I spoke about our MIDI work at the NAMM event in January just before the COVID lockdown.
The MIDI stack refresh and MIDI 2.0 are coming, but they are not part of the Reunion project. However, we share many of the same goals, including making the APIs available to all applications on Windows. It's a multi-phase project, with full MIDI 2.0 (which requires a new USB class driver) as part of the final phase. Before that, the stack refresh will offer a lot of what the community and DAW companies have been asking for, including multi-client, virtual MIDI, bluetooth, and more.
I'll have more to say about MIDI earlier next year. There's no current place for you to go to ask questions about it, but I will have an appropriate place at that time. Thanks for your interest!
Hope that helps.
Pete
"Alternatively, it would help if there could be something like a drop in replacement that makes it possible for DAW authors to switch without too much afford, or give the end user the ability to use these new devices with older software."
The API is based on the WinRT MIDI API, not the WinMM/Win32 MIDI API. We simply can't extend that one without doing everything at the driver level, which is not the approach here. The main reasons DAW companies haven't adopted WinRT MIDI today are:
There are three places where you'll see WinRT MIDI being used today. In all three, it's an optional switch. Cakewalk, Chromium, and JUCE.
I've personally heard the issues from community and developers, and are making sure we address those. But it will require companies to adopt the API. There will be more guidance there, and also the structure of the project will make it easier for folks to adopt earlier. More on that in the future.
Pete
@Psychlist1972 Is there any consideration going into supporting Soundfonts for MIDI playback - or is that all prohibitive due to patents?
@mdtauk I'm not investing in that as baked into the stack, but I am making it much easer for applications to plug into MIDI in a way where you could have a proper synthesizer (or a third-party soundfont player, or something else) that is available to everyone.
First of all, I"m sorry for my late reply. Thanks a lot for giving us more insight in what's coming.
The MIDI stack refresh and MIDI 2.0 are coming, but they are not part of the Reunion project. However, we share many of the same goals, including making the APIs available to all applications on Windows. It's a multi-phase project, with full MIDI 2.0 (which requires a new USB class driver) as part of the final phase. Before that, the stack refresh will offer a lot of what the community and DAW companies have been asking for, including multi-client, virtual MIDI, bluetooth, and more.
Is there any time frame when this can be expected? I assume it will be part of a particular Windows 10, but likely not before 21H1?
I'll have more to say about MIDI earlier next year. There's no current place for you to go to ask questions about it, but I will have an appropriate place at that time. Thanks for your interest!
Looking forward to that.
* BLE MIDI is not a big enough carrot for companies to take on the API, and there are alternatives
I've been searching for alternatives, but couldn't find something that works reliably for me. Could you please elaborate on what alternatives you'd advise in the meanwhile?
* Incorporating it into a C++ Win32 app was challenging until C++/WinRT came around
True. It is now actually pretty easy to incorporate it into C++ application, apart from handling connecting to Bluetooth devices that aren't in range. I created a Stack overflow question to get info on that, but no luck so far.
Most helpful comment
@mdtauk I'm not investing in that as baked into the stack, but I am making it much easer for applications to plug into MIDI in a way where you could have a proper synthesizer (or a third-party soundfont player, or something else) that is available to everyone.