Ok, so spent a little more time on this.
The Windows exe runs under Wine on OSX. It's unhappy about a font so none of the text renders. Changing the knobs didn't seem to have any effect on the serial output.
I looked a little harder at the assert on the native OSX build and the deal is MidiMessage(MidiMessage::controllerEvent() requires the channel number to be between 1 and 16. Your test code is trying to operate on channel 0 which is invalid. Maybe an older version of Juce allowed 0?
In any case, while I can now run the test program and see the BlackAddr input and output, knobs don't seem to have any effect. I tried changing the part in the delay demo that shifts the midi channels from 1-16 to 0-15 but that did not seem to have an effect.
I know literally nothing about midi so not sure how to debug this. But if we an sort it out I'm happy to provide an OSX binary if you want to have it available for download.
Edit: got it to work! The issue was with the example code actually. Here's the fix:
diff --git a/examples/Delay/AnalogDelayDemo/AnalogDelayDemo.ino b/examples/Delay/AnalogDelayDemo/AnalogDelayDemo.ino
index 3cb413a..6f674f2 100644
--- a/examples/Delay/AnalogDelayDemo/AnalogDelayDemo.ino
+++ b/examples/Delay/AnalogDelayDemo/AnalogDelayDemo.ino
@@ -131,7 +131,7 @@ void loop() {
channel = usbMIDI.getChannel(); // which MIDI channel, 1-16
data1 = usbMIDI.getData1(); // first data byte of message, 0-127
data2 = usbMIDI.getData2(); // second data byte of message, 0-127
- if (type == 3) {
+ if (type == 0xb0) {
// if type is 3, it's a CC MIDI Message
// Note: the Arduino MIDI library encodes channels as 1-16 instead
// of 0 to 15 as it should, so we must subtract one.
I don't really understand why 3 would ever be a CC message, CC is type 0xb0 according to the MIDI documentation I found. Typo? Nice to have this working though.