Added primitive midi metronome
This commit is contained in:
parent
fe5dd6368a
commit
40145854a5
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
OSCdef.freeAll;
|
OSCdef.freeAll;
|
||||||
|
|
||||||
|
// fixme - buflen is derived from BPM now
|
||||||
|
|
||||||
~to.button('/grains/reset', 0, { | v |
|
~to.button('/grains/reset', 0, { | v |
|
||||||
if( v > 0, {
|
if( v > 0, {
|
||||||
@ -47,6 +48,7 @@ OSCdef.freeAll;
|
|||||||
|
|
||||||
|
|
||||||
~setrecord = { | track, v |
|
~setrecord = { | track, v |
|
||||||
|
[ "record", track, v].postln();
|
||||||
~granulators[track].record_(v);
|
~granulators[track].record_(v);
|
||||||
if(v == 0, {
|
if(v == 0, {
|
||||||
~mixlevel[track] = ~granulators[track].mix;
|
~mixlevel[track] = ~granulators[track].mix;
|
||||||
|
|||||||
14
main.scd
14
main.scd
@ -9,13 +9,18 @@ Server.default.options.outDevice_("Scarlett 2i2 USB");
|
|||||||
Server.killAll;
|
Server.killAll;
|
||||||
|
|
||||||
(
|
(
|
||||||
|
MIDIClient.init;
|
||||||
|
~midiOut = MIDIOut.newByName("Cre8audioNiftyCASE", "Cre8audioNiftyCASE").latency_(Server.default.latency);
|
||||||
|
)
|
||||||
|
(
|
||||||
|
|
||||||
Routine.run({
|
Routine.run({
|
||||||
|
|
||||||
~usbinput = 2;
|
~usbinput = 2;
|
||||||
~usbinput1 = 2;
|
~usbinput1 = 2;
|
||||||
~usbinput2 = 3;
|
~usbinput2 = 3;
|
||||||
|
|
||||||
~bpm = 90;
|
~bpm = 120;
|
||||||
~bps = ~bpm / 60;
|
~bps = ~bpm / 60;
|
||||||
~beatsperbar = 4;
|
~beatsperbar = 4;
|
||||||
~buflen = ~beatsperbar / ~bps;
|
~buflen = ~beatsperbar / ~bps;
|
||||||
@ -25,7 +30,7 @@ Routine.run({
|
|||||||
|
|
||||||
~tc = TempoClock.new(~bps);
|
~tc = TempoClock.new(~bps);
|
||||||
|
|
||||||
~touchosc_ip = "192.168.0.209";
|
~touchosc_ip = "192.168.20.10";
|
||||||
|
|
||||||
("./synths.scd").loadRelative;
|
("./synths.scd").loadRelative;
|
||||||
Granulator.init(s);
|
Granulator.init(s);
|
||||||
@ -38,9 +43,14 @@ Routine.run({
|
|||||||
s.sync;
|
s.sync;
|
||||||
("./sequencer.scd").loadRelative;
|
("./sequencer.scd").loadRelative;
|
||||||
s.sync;
|
s.sync;
|
||||||
|
("./midi_sync.scd").loadRelative;
|
||||||
|
s.sync;
|
||||||
"please wait for the interface to load...".postln;
|
"please wait for the interface to load...".postln;
|
||||||
~buflen.sleep;
|
~buflen.sleep;
|
||||||
("./interface.scd").loadRelative;
|
("./interface.scd").loadRelative;
|
||||||
"ok go!".postln;
|
"ok go!".postln;
|
||||||
|
~setrecord.value(0, 1)
|
||||||
});
|
});
|
||||||
)
|
)
|
||||||
|
|
||||||
|
~tc
|
||||||
|
|||||||
20
midi_sync.scd
Normal file
20
midi_sync.scd
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
(
|
||||||
|
|
||||||
|
|
||||||
|
p = Pbind(
|
||||||
|
\type, \midi,
|
||||||
|
\midicmd, \noteOn,
|
||||||
|
\midiout, ~midiOut,
|
||||||
|
\chan, 0,
|
||||||
|
\degree, 0,
|
||||||
|
\dur, Pseq([1/4, Rest(1/4)], inf),
|
||||||
|
\amp, 1
|
||||||
|
).play(~tc);
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user