Hi,
Recently I've been playing with Overtone which is cool!
As a learning exercise I've hacked a Supercollider plugin together to stream data out via zeromq PUB socket.
Because unfortunate events:
- I'm on Windows and unfortunately Supercollider doesn't run in WSL (JACK can't run in WSL).
- Overtone currently doesn't support internal servers on Windows.
- Overtone's scope only works with an internal server.
- I wanted to see if I can hack scope function to use external server.
My attempts:
1. Simply replace `buffer_read` with `buffer_data` but it was horribly slow. Not even CPU heavy. OSC chit-chat seems to be really slow.
2. Use shared memory to pass the data. Supercollider itself uses memory mapped files to pass data between its client & server. But implementation does not look portable at all.
3. A SC plugin to stream data out which seems to be working so far :)
Here is the plugin:
https://github.com/maksut/ZmqOutOvertone hack to use the plugin (makes scope usable with external server):
https://github.com/maksut/overtone-zmq-out/blob/master/src/zmq_out_test.cljJust in case it might be helpful to somebody else who goes into the rabbit hole.
Thanks,
Maksut