Hi folks, I’m beginning to port my Scheme for Max & Pure Data external over to JUCE to make an open source lisp-based sequencing toolkit. It’s heavily inspired by Common Music, though is a different engine -Common Music’s Grace front end is also built on JUCE, and also uses s7 Scheme as the high-level scripting language. Scheme for JUCE will target a bit of a different audience, intended to be more for folks who want to hack on the internals. It’s also intended to allow one to use the same domain code in s7 Scheme across Pd, Max, and Juce for building sequencing, algorithmic music, and live coding tools.
Most of this will not be hard to port, as the lion’s share of the work has been done in the Max version. But in Juce I will need to implement a scheduler. Making good schedulers is a tricky business with lots of trade offs for different patterns. I’d ultimately like to give the user/developer the opportunity to choose between a few or at least tweak how it works. I’m curious if people here who have implemented sequencing schedulers in Juce apps have any tips, or pointers to resources, or projects with code that would be worth looking at (Juce or not). This will not be a plugin, but a standalone app btw (though I suppose making it possible to run as a plugin later might be worth exploring too). I’m just a big believer that hunting through prior art is a good plan generally…
(If you are interested in what I’m porting, site is here with links to docs and demo videos in the readme. GitHub - iainctduncan/scheme-for-max: Max/MSP external for scripting and live coding Max with s7 Scheme Lisp )