Initial support for MIDI-CI in JUCE

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!

9 Likes

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.

1 Like

This commit fixes another issue with the formatting of property exchange headers:

1 Like