Moved metronome out to sequencer.scd
parent
e1c1a5b82d
commit
90e4ad3032
|
@ -0,0 +1,46 @@
|
|||
// metronome code here is a bit gross but easier
|
||||
|
||||
~beatsperbar = 4;
|
||||
~bps = ~beatsperbar / ~buflen;
|
||||
~tc = TempoClock.new(~bps);
|
||||
|
||||
SynthDef(\metronome, {
|
||||
arg out=0, amp=1, pan=0, filter=1000, atk=0.01, rel=0.1;
|
||||
var sig, env;
|
||||
env = EnvGen.kr(Env.perc(atk, rel, amp), doneAction: Done.freeSelf);
|
||||
sig = HPF.ar(WhiteNoise.ar(), filter);
|
||||
Out.ar(out, Pan2.ar(sig * env, pan));
|
||||
}
|
||||
).add;
|
||||
|
||||
~metrob = Bus.audio(s, 2);
|
||||
|
||||
~metromix = SynthDef(\metromix, {
|
||||
arg in=1, out=0, amp=1;
|
||||
Out.ar(out, amp * In.ar(in, 2));
|
||||
}).play(s, [\in, ~metrob, \out, 0, \amp, 0]);
|
||||
|
||||
|
||||
|
||||
|
||||
~metronome = Pbind(
|
||||
\instrument, \metronome,
|
||||
\dur, 1,
|
||||
\amp, 0.5,
|
||||
\pan, 0,
|
||||
\out, ~metrob
|
||||
).play(~tc);
|
||||
|
||||
|
||||
~to.button('/grains/metronome', 0, { |v|
|
||||
// reset tempo when turning metronome on
|
||||
if( v == 1, {
|
||||
~bps = ~beatsperbar / ~buflen;
|
||||
~tc.tempo_(~bps);
|
||||
});
|
||||
// FIXME
|
||||
~metromix.set(\amp, v)
|
||||
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue