I see there are alot of external binding for scsynth (i.e. the server-side of SC), but are there any half-reasonable implementations of (event) pattern libraries in such ports?
I know a lot of languages have stream support etc., but that’s not quite enough to “hit the ground running” pattern-wise when using such ports, i.e. one would minimally need an sclang-Event
-like machinery and a player for those (In the sclang library paradigm, Events types come with their own “mini players”, which are sometimes chained by “bigger” players like Pmono).
So, does anyone know if any scsynth frontents other than sclang also have a minimally working Event-like framework (not necessarily 100% replication of the sclang one)?
I found an overview in a 10-years old paper of H. H. Rutz:
Overtone [Clojure], pkaudio [Python] scruby, and ScalaCollider have attempted this “musical scheduling” part of SC as well. I would definitely appreciate a more up-to-date answer though, especially stuff that’s maintained/working.
I see ScalaCollider has its own pattern library that’s in active development, although it seems to be a “reboot” rather than a straight port attempt. (Lots of things on the todo list there makes me think that pretty “alpha” software. And exactly 7 bug reports, including closed ones, strikes me as pretty small user base…)
I also found Overtone’s Leipzig which seems to be one of their attempts; it seems to be in a similar shape as Scala’s maturity-wise and syntax-wise looks a lot more like “old school” CSound scores than any patterns.
Haskell seems to have gained Vivid on the composition side since that paper was written. The syntax looks oddly cluttered though; obviously they do the the scheduling though monads, but all they seem to provide a sclang-Routine
equivalent(s), not “further up” patterns.
Not sure what happened with the Ruby and Python projects… Actually I think I found (the right) scruby, but frankly I don’t see where it ever had any kind of score support.