Need interprocess named pipe
-
Hello, I think I found one post referencing this. I am looking to implement a Juce named pipe because I want to have my plugin instances communicate the results of fft analysis block by block n real time. I don’t want a side chain I want interprocess communication. A static object will not work for many reasons the main one being some daws will run instances in different threads so interprocessserver is needed with a named pipe. I am looking into just implementing it in a 3rd party script node but I am brand new to HISE(not brand new to c++ or JUCE) and I don’t know if that’s the best thing to do. I received advice on this and it seems like that is the place to do it. It would be great if this was implemented in HISE as a feature at some point(JUCE named pipe) as some sort of cable or something.
-
@jdurnil I’ve got the framework of this already written in JUCE, but for many reasons I want to bring it fully to HISE
-
Have you tried using OSC for this?
I'm a bit hesitant to add "exotic" things like that, especially if there is already a viable option in the feature set. It will be my responsibility to make it stable on all DAWs / OS systems and if hardly anyone uses these things, it will break within months.
-
I’m already using osc to communicate commands to another app, I really prefer interprocess server named pipes for this. I understand if you don’t want to roll this into HISE but can I achieve what I want in a third party script node?
-
@jdurnil try it, but it might work :)
there is only a limited subset of JUCE modules available in the translation unit that compiles the third party nodes, but the
juce_core
module which contains theNamedPipe
class should be available. -
Great thank you, I’ve got the code written in JUCE I just need to bring the concept over to HISE, though testing and debugging this might be tricky. One last question, if I figure this out and want to share a scriptnode that does this with people who might be interested how do I do that? I don’t imaging these compiled 3rd nodes come across in a snippet or do they?
-
@jdurnil said in Need interprocess named pipe:
though testing and debugging this might be tricky
You can run HISE in the debugger and load the DLL with your custom node, then you can use XCode / VisualStudio just like with a normal C++ project. It's a bit complicated to setup at first, but once you've done this it's a very neat workflow.
-
Thanks, the tricky thing I was thing about is I need at least two instances running to debug
-
I guess I could run a “slave” in JUCEs audiopluginhost and debug the master as you described. If the both hook up to the named pipe then problem solved