2-way communication with FS VST plugins
Posted: Thu Apr 17, 2014 10:33 pm
Putting on the thinking cap for a new project idea ... IF this is possible ...
There has been some discussion and examples of communicating data between 2 separate apps. These have focused on using 'Server/Client' design. I have tested the examples and have found them to work.
I would like to inquire if there are any OTHER ways/techniques that could be utilized with FS to 'share' data between 2 or more plugins.
The project goal ...
I'm looking to design a plugin that basically monitors audio levels, and can send data back to a central plugin that would be receiving this 'level' data from possibly several of these 'monitoring' pods [VST].
I realize that 'real-time' communication would depend on just how much data was being sent. I believe that there could be a strategy used to possibly reduce this data flow ... but we are at 1st stage of thinking this through.
One thought ...
Possible using a 'reserved' memory location that could be identified that the individual 'pods' could write to, and that the central hub would know how to locate and read this data. Is this possible with FS ??
What I do have working is a somewhat similar 'concept only' that is simply MIDI data controlling various 'pods'. These are more to control switches at the moment, but I have thought of possibly using MIDI to provide the communication link. This would require the 'audio level' data to be transposed/scaled to the MIDI standard [0-127]. This, of course, would only provide a rather crude approximation of the actual values. Another thought was to possible 'encode' the actual data into a SYSEX packet. This might allow a finer resolution to the true data value. Again just possible ideas ... however, none would match the ability to write and read from a 'reserved' memory location.
There was another method mentioned that would write data to a temp file.
I guess this could be possible, but have no idea what can of worms that could entail
Like I say ... I'm at the concept stage with this. Before any design ideas could start, I first need to better understand what techniques are available to pursue.
I yield to the experienced GURUS to enlighten grasshopper
Thanks!
There has been some discussion and examples of communicating data between 2 separate apps. These have focused on using 'Server/Client' design. I have tested the examples and have found them to work.
I would like to inquire if there are any OTHER ways/techniques that could be utilized with FS to 'share' data between 2 or more plugins.
The project goal ...
I'm looking to design a plugin that basically monitors audio levels, and can send data back to a central plugin that would be receiving this 'level' data from possibly several of these 'monitoring' pods [VST].
I realize that 'real-time' communication would depend on just how much data was being sent. I believe that there could be a strategy used to possibly reduce this data flow ... but we are at 1st stage of thinking this through.
One thought ...
Possible using a 'reserved' memory location that could be identified that the individual 'pods' could write to, and that the central hub would know how to locate and read this data. Is this possible with FS ??
What I do have working is a somewhat similar 'concept only' that is simply MIDI data controlling various 'pods'. These are more to control switches at the moment, but I have thought of possibly using MIDI to provide the communication link. This would require the 'audio level' data to be transposed/scaled to the MIDI standard [0-127]. This, of course, would only provide a rather crude approximation of the actual values. Another thought was to possible 'encode' the actual data into a SYSEX packet. This might allow a finer resolution to the true data value. Again just possible ideas ... however, none would match the ability to write and read from a 'reserved' memory location.
There was another method mentioned that would write data to a temp file.
Like I say ... I'm at the concept stage with this. Before any design ideas could start, I first need to better understand what techniques are available to pursue.
I yield to the experienced GURUS to enlighten grasshopper
Thanks!