I am looking into writing a shared memory to communicate with a few other software. However, I am running into a bit of an issue right now.
I am not that well versed in VCV Rack development, so, please excuse any mis or naive understanding of VCV Rack.
The execution model of VCV Rack modules is not very conducive to such shared memory module. Specifically, process() being called for every sample, one sample at a time. Putting data into the shared memory in a no-lock wait free fashion 1 sample at a time is extremely slow. It’s much more efficient to copy blocks of data at a time.
However, I can’t seem to find a way to hook into the audio block call back. I think the ideal situation would be to copy a whole audio block onto the shared memory.
So, I was wondering if there is a way to hook into the audio block call(?) ?
I peeked into the VCV Recorder module. The way it works could be a solution, where I will just run a secondary thread that accumulates the block, then pushes onto the shared memory.
Would that be the recommended solution?
Please let me know. Thank you!