More supercollider symposium live blogging
i missed the first session, alas. Too much devil liquor.
now we will hear about patterns. They speaker’s car’s registration plate says ‘rlpf . ar’
james harkins talk can be found on the internets.
patterns are about anstractions. You can write very concise cose that does things for you.
you can describe a stream’s behavior with a pattern. Some patterns can do values, others events.
pseries counts, pgeom does some multiplying.for exponential increments
there’s many random ones and some chaotic, etc
can pass these to each other, like using a patern to control step size in pseries
some list pattern things: pseq, prand, pxrand, pwrand, pshuf. Please note these should all have capital p’s, but i’m blogging from an n800.
list patterns send the message embedInStrem to everything in its array, so you can have them nested.
an event in something that understands the message play. You can write your own play function. Must check this out.
you can mess with the events innards
synthdefs must be stored. Or go into the synthdesclib
event patterns are also list patterns. We’ve got pbind, pmono, etc.
p=pbind(foo, 1).asStream; p.next(()); //must pass in an empty event when you call next and the empty paren set is an empty event.
.x is and adverb thing. T does matrix operations on lists, kinds, element by element
pkey is cool. It gives you the result of prevous event thingee
patternproxy is a part of jitlib. It lets you chanhe patterns on the fly
merging patterns, he calls pattern composition.
you can put your own function in patterms.
a magic square is like sudoku for notes
now we are being evangelized.
now ron is up to talk about some extra pattern classes.
he notes patterns are sometimes unattractive to programmers. The library is too big. Writing you own functions in it is hard.
ron haw written a class Pspawner wich lets you do stuff in a more prommer.y way. It takes a function and gets this as an argument
this cool, it’s a way to scedule paterns. I will use this. This fixes a bunch of my problems. Yay ron.
but now he’s in overly complicated example ron land.
ok, now we’re on to cvs and conductors. Cvs do constraints. They’re cool. The conductor is a dictionary and a gui. It’s got a bunch of cvs.
conductors are nifty. They can control a pattern. Cvs can now take a wndex message which treats it as a weight table.
there’s a cursor thing now.
there’s some array stuff going on in cvs
streams do next, reset, embedInStream. Patterns do asStream, embedInStream
routines have state. There’s something important in yield vs embedInStream which went by quickly.
Nice post. Patterns are quite interesting. I am currently trying to learn them to apply them to livecoding.
Still have lots to explore, including PatternProxies, cvs, conductors, and
“.x is and adverb thing. T does matrix operations on lists, kinds, element by element”