@@ -67,27 +67,29 @@ b = Buffer.read(s, p);
6767x = Bus.audio(s, 1);
6868
6969SynthDef(\ptr, {
70- var sig;
71- sig = LoopPhasor.ar(\t_start.tr(0.0), \t_end.tr(0.0), \rate.kr(1.0) * BufRateScale.ir(b), 0.0, BufFrames.kr(b), \loopStart.ir(0), \loopEnd.ir(1));
72- Out.ar(\out.kr(0), sig);
70+ arg rate=1, loopStart=0, loopEnd=1, out=0, trigEnd=0.0;
71+ var sig;
72+ sig = LoopPhasor.ar(0.0, trigEnd, 1 * BufRateScale.ir(b), 0.0, BufFrames.ir(b), loopStart, loopEnd);
73+ sig.poll;
74+ Out.ar(out, sig);
7375}).add;
7476
7577SynthDef(\player, {
76- var sig, ptr_in;
77- ptr_in = In.ar(\ptr.kr(0));
78- sig = BufRd.ar(1, b, ptr_in, 0);
79- Out.ar(0, sig);
78+ arg ptr;
79+ var sig, ptr_in;
80+ ptr_in = In.ar(ptr);
81+ sig = BufRd.ar(1, b, ptr_in, 0);
82+ Out.ar(0, sig);
8083}).add;
84+ )
8185
8286// we need two synths: a pointer synth and a player synth
83- y = Synth(\ptr, [\out, x, \loopStart, 80e3 , \loopEnd, 120e3 ]);
87+ y = Synth(\ptr, [\out, x, \loopStart, 8e4 , \loopEnd, 9e4 ]);
8488z = Synth(\player, [\ptr, x], addAction: \addToTail);
8589
8690// to stop looping and end naturally
87- y.set(\t_end , 1.0);
91+ y.set(\trigEnd , 1.0);
8892
89- // free the synths
9093z.free;
9194y.free;
92- )
9395::
0 commit comments