[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sc-users] 'Scrubbing' Through a Ptpar



Ah, that's unfortunate, I will drag my feet back into the DAW for phrasing. BUT while doing that, I shall look under the hood at fast forward and try to figure out some hacks. Thanks for leading me in the right direction! 

- Jack

On Thu, Dec 19, 2019 at 11:58 AM <scott@xxxxxxxxxxxxx> wrote:
SC patterns are stateful and have to be run from the beginning, so you can't trivially fast forward.... But you cab simply skim through events until you reach the time you want. You might take a look at Stream:fastForward, which does this sort of thing. If I remember correctly, the method it doesn't EXACTLY work like this, but it's worth trying and at least inspecting the code. Also, if you figure something out, please consider contributing this back to the core library, as this is an oft-requested feature.

- S

On Thu, Dec 19, 2019, 8:07 PM <kilgorej99@xxxxxxxxx> wrote:
Hello, I have just become aware of Ptpar and sequencing various patches! It has really elevated my patching up a level to allow for more complex phrasing and actual composition. BUT, but but, as the composition grows in size, the runtime to hear small changes in later patterns becomes much much longer. So I am asking if there is a way to trick Ptpar into thinking the initial time is not at 0, but at some arbitrary point. I basically want an sc pattern version of a scrubbing in a DAW.

Here is an example where we have one patch start at 0.5 s and another starting at 30.9 s. Is there away to skip to, lets say, 29 seconds? This is to avoid having to listen through the whole thing to see what patch 2 will sound like. 
(
~parallelExperiments =
Ptpar([
0.5,
Pbindef(\voice3,
\instrument,\gabor3,
\sustain,0.5,
\gate, -1,
\dur,Pn(Pseg([1/64, 1/64],[16.8]) * Pwhite(0.9,1.1)),
\bufnum, Pn(Pstep([~vocalDrum[0]],[1/34])),
\amp, 0.5,
\rate1, Pn(Pseg([1,1],[46]),1), //will end patch after 46 seconds
\attack, 0.001,
\decay, 0.001,
\sus, 1,
\release, 1,
\pan, Pn(Pstep([-0.2,-1,1],[3,0.01,0.1])),
),
30.9,
Pbindef(\voice3_1,
\instrument,\gabor3,
\sustain,0.5,
\gate, -1,
\dur,Pn(Pseg([1/12, 1/12],[16.8]) * Pwhite(0.9,1.1)),
\bufnum, Pn(Pstep([~vocalDrum[4],~vocalDrum[0]],[5.4,6])),
\amp, 0.5*Pn(Pseg([0.001, 1,1,0.001,0.001],[0.001,1/12,0.01,0.01],'exp',inf)),
\rate1, Pstep([1,0.5],[1/8,1/8],13.6),
\attack, 0.001,
\decay, 0.001,
\sus, 1,
\release, 1,
\pan, Pn(Pstep([0,-1,1],[3,0.01,0.1])),
)
).play;);



Hope your days are going well, 
Jack Kilgore