I have been using sc since the start of the year, and have been writing a lot using patterns. Here are a couple of stumbling blocks I have run into in this time:
-
The difference between events, patterns and streams, and how to convert between them for a given class is often very confusing. Recently I spent a considerable amount of time working out that to call
.next()
on aPbind
you have to call.next(())
, for example. -
Patterns being stateless is often not musically useful, and I find myself embedding state in patterns nore often than not. Music composition - especially for algorithmic music - is frequently semantically stateful.
-
I wrote about this in another thread, but when you want to actually write a substantial composition, using patterns can lead to sprawling blocks of code.
-
No easy native support for Event patterns and LFOs | SuperCollider 3.13.0 Help (continuous LFO control section) is surprising to me. @hemiketal gave me a great function to deal with this in the discord, but I would not have been able to work it out myself.
-
Transitioning between patterns in static (not live coded) compositions is really really hard. It’s not straightforward have overlapping patterns where one fades on and another fades in for more than two parts. Something that is fairly trivial in a DAW.
-
Use of patterns with
Ndef
is frankly bizarre and badly documented. -
the default event
\amp
not being1
is imo a bad idea. This is like if Ableton had a master gain that was set to -6db behind a hidden menu. I dont have an issue with any of the other default parent event keys apart from this one lol.
I think most of these could be handeld with better examples and documentation. I love supercollider so far, and have had a very productive time actually writing and finishing compositions in the program - something I struggled to do with Max - most of this I attribute to using the pattern system.
To me, the documentation for patterns is frequently too technical and too verbose to find what you’re looking for quickly (It doesn’t help that google sucks at indexing the sc help pages, making searching via google difficult), and it seems like there around 10 active supercollider users on the internet who are actually good at using patterns and can answer your questions - and they can’t always be online .