The producer/consumer problem in CS is that one thread is making things and other threads are using those things.

So I'd like to set one Pbind as a producer and different, simultaneous Pbinds as the consumers.

So the producer Pbind is picking the chord (and holding a synthpad for a few beats) and consumer Pbinds are generating a melody and a bassline using degrees that are members of the chord.

It seems like Pbindf is not the answer. Do I just need to set global variables in a Pfunc?

#SuperCollider #Pbind #Lazyweb

OK, here's today's question about the #SuperCollider Pattern library:

I'm doing live sampling and I'm going to use onset detection to figure out when a phrase starts. But there's some "pre-roll" before that- which starts when the input level crosses some threshold. The sounds that come out ahead of the note articulation. I want to play a sample as a loop, but it needs to be ahead of the beat such that it starts playing from the threshold (so early) and hits the onset right on the beat.

I'm guessing a #Pbind can't actually do this and I'm going to try rolling my own scheduling thing until I realise its a bloody nightmare.

(I also want to make it such that setting the gate to 0 midloop keeps playing up until the next detected onset and … I'm spending too much time around Ableton lately and would like *some* of its affordances to be on offer....)

Ok, everybody loves the pattern library

What I want is a way to tell a #Pbind to stutter, but also to change the duration so the time taken by the repeats is equivalent to the original time.

dur = dur/repeats.

I know I can do Pbind().stutter(Pfunc({|evt| }), but the evt passed to the Pfunc is not the event generated inside the Pbind and has only default values.

Is this actually possible aside from using BBcut stuff?

#SuperCollider

Is there any way to use a #NodeProxy defined sound in a #pbind?

#SuperCollider

Lett's say I have a loop:

Pdef(\loop, Pbind(
\degree, Pseq((0..7), inf))).play;

I want to be able to change that loop:

Pbindef(\loop, \degree, Pseq((7..0), inf)).play

But I only want this change to happen with the Pseq runs through to the end and starts over.

Is this a P-thing?

#SuperCollider #Pseq #Pbind #Pbindef #Pdef

10 junio estos #Pbind-tago! Nun estas la tempo por plani koncertojn, eventojn kaj festojn.

#Pbind #SuperCollider #Partiklakcelilo

June 10th is International #Pbind day. It's time to start planning how to celebrate it!
#supercollider (cross-posted)
Also, I learned that playing a #Pbind with .playExt makes it work with #bbcut, but a lot of features from .play don't happen. .isPlaying always returns false and it's possible the quant argument is ignored. #SuperCollider