OSC has arrived.
-
@Christoph-Hart Very cool! Looks like it may have broken compilation? I'll revert the commit for now
-
@Casey-Kolb Use xcode 13.1
-
@Casey-Kolb Make sure you resave the HISE projucer project so that it adds the new module. This looks like a linker error because it can't find the new juce_osc.cpp file.
-
@d-healey yup already doing that
-
This looks like a linker error because it can't find the new juce_osc.cpp file.
Definitely this, I checked without resaving and it gives me the same linker errors. Resave and open in Xcode then build again.
-
Can OSC be used to communicate between plugin instances?
-
Let me check...
-
So you can send OSC messages between two HISE instances, so I guess it should work between plugins too.
HISE 1:
const var rm = Engine.getGlobalRoutingManager(); rm.connectToOSC({ "SourcePort": 6666, "TargetPort": 6667, "Domain": "/interhise" }, 0); rm.sendOSCMessage("/funky", "Hallo"); rm.addOSCCallback("/funky", function(id, value) { Console.print(value); });
HISE 2:
const var rm = Engine.getGlobalRoutingManager(); rm.connectToOSC({ "SourcePort": 6667, // Note how the source port and target port are "TargetPort": 6666, // reversed here to allow bidirectional communication "Domain": "/interhise" }, 0); // Compile the other script and it will show up here rm.addOSCCallback("/funky", function(id, value) { Console.print(value); rm.sendOSCMessage("/funky", "Back at you"); });
-
@Christoph-Hart Ooo this opens up a lot of possibilities. I'm thinking of a real-time divisi system :)
-
Yes now that you mention it, it definitely improves the interprocess abilities. Not sure what happens if you use the same port for input / output, but if you're brave you can find it out yourself.