First of all, a question:
Is data sharing intrinsically hard to achieve in haskell? i.e. passing values in arbitrary ways from one pattern to the other, etc.
All I really could gather from the various haskell docs I've read is that variables are by and large, constant? (This could pose an obstacle in this instance I suppose).
I'm asking this cause the lack of this sort of thing is the only reason I sometimes rather work strictly in SC. Besides that Tidal is the bees knees and the cats pyjamas.
I've been writing a class library in SC for sequencing control data with shift registers. Feeding
a sequence in at one end, shifting the register at some rate, and passing whatever is in the middle as an argument to some Ugen. This Allows for some pretty interesting conditional dependencies.
Like, "If the snare is going to be reverbd in two beats, play the open hihat right now".
This works with whatever you put into the register, completely randomized sequences or whatever.
The dream for me would be to feed the Osc stream going from tidal into these shift registers before it hitting the SuperDirt samplers. Then all sorts of "time traveling conditional shenanigans" would be possible.
I sat down the other day to set this up but quickly realized it would be quite some work to integrate properly and my day job is pretty hectic atm.
So, my other question:
Are there any libraries out there that extends this part of tidal?
(data sharing/saving data for later use/etc)