I’m glad I’m through that refactor! There’s more to do (the most exciting of which is getting rid of buffer serialization / deserialization which should speed up long renders) but python instruments are thankfully working again after tearing out all the old IPC plumbing. It’s easier to reason about IPC now, and I hope that will make building around it easier too.
Next up:
- Replace the old session value getter/setter interfaces in cython with the new IPC routines
-
For ctx.s.
style interfaces - And any remaining internal interfaces (built-in instrument params)
- Use the session buffer aquire / release to get sampler segments in the same way as the adc ringbuffer
- Test the autotrigger interfaces in python and pick one (I am leaning towards a callback approach)
- Revisit trigger / message passing in cython
- serial output (usb tty)
- MIDI output (alsa MIDI)
- (adding OSC support would be nice later too: also maybe as the way to transport messages between astrid instances over the network)