We’ve just released juce_midi_ci, a module that allows developers to easily implement MIDI-CI devices:
There’s also a new demo that implements discovery, profiles, and properties in a GUI app:
We hope that this demo app will be useful for testing/viewing MIDI-CI interactions with other devices.
It’s now possible for developers to meet the minimum requirements for MIDI 2.0 compatibility in JUCE by including a juce::ci::Device that has profiles and/or properties enabled.
Please try out the new features and let us know how you get on. We appreciate any and all feedback!
As we test this feature with more devices, we’re starting to discover a few bugs in the initial version.
A fix for one such bug is now on develop:
If you are working on adding CI functionality to your project, I strongly recommend watching the develop branch for updates and synching regularly, so that you can take advantage of the latest fixes in this area. Given that this is a very new feature, it may take a little while before all of the functionality is properly exercised, and all of the bugs squashed.