refactor: route live tempo writers to setTempo
This commit is contained in:
@@ -91,7 +91,7 @@
|
||||
~midiFuncs.add(MIDIFunc.cc({ |val| ~melodyDrive = val.linlin(0,127, 0.5,5.0); ~debouncedReload.() }, 33));
|
||||
~midiFuncs.add(MIDIFunc.cc({ |val| ~acidDrive = val.linlin(0,127, 0.5,5.0); ~debouncedReload.() }, 34));
|
||||
~midiFuncs.add(MIDIFunc.cc({ |val| ~melodyBoost = val.linlin(0,127, 0.5,3.0); ~debouncedReload.() }, 35));
|
||||
~midiFuncs.add(MIDIFunc.cc({ |val| TempoClock.default.tempo = val.linlin(0,127, 60,200) / 60 }, 36));
|
||||
~midiFuncs.add(MIDIFunc.cc({ |val| ~setTempo.(val.linlin(0,127, 60,200)) }, 36));
|
||||
|
||||
// ---- CC : wobble / sidechain / FX ----
|
||||
~midiFuncs.add(MIDIFunc.cc({ |val| ~melodyWobbleRate = val.linexp(0,127, 0.5,32); ~debouncedReload.() }, 49));
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
} {
|
||||
scene.keysValuesDo { |k, v|
|
||||
if (k == \bpm) {
|
||||
TempoClock.default.tempo = v / 60;
|
||||
~setTempo.(v);
|
||||
} {
|
||||
currentEnvironment.put(k, v);
|
||||
};
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
// --- transport -----------------------------------------------------
|
||||
~pd[\defs].add(OSCdef(\pdPlay, {
|
||||
TempoClock.default.tempo = (~bpm ? 128) / 60;
|
||||
~setTempo.(~bpm ? 128);
|
||||
~reload !? { ~reload.value };
|
||||
[\kickSeq, \hatSeq, \snareSeq, \clapSeq, \percSeq, \acidSeq, \melodySeq, \harmonySeq]
|
||||
.do { |k| Pdef(k).play };
|
||||
@@ -99,7 +99,7 @@
|
||||
// --- tweaks parametriques ------------------------------------------
|
||||
~pd[\defs].add(OSCdef(\pdTweakMelCut, { |msg| ~melodyCutoff = msg[1].asFloat; ~reload.value }, '/tweak/melodyCutoff'));
|
||||
~pd[\defs].add(OSCdef(\pdTweakAcidCut,{ |msg| ~acidCutoff = msg[1].asFloat; ~reload.value }, '/tweak/acidCutoff'));
|
||||
~pd[\defs].add(OSCdef(\pdTweakBpm, { |msg| ~bpm = msg[1].asFloat; TempoClock.default.tempo = ~bpm/60 }, '/tweak/bpm'));
|
||||
~pd[\defs].add(OSCdef(\pdTweakBpm, { |msg| ~setTempo.(msg[1].asFloat) }, '/tweak/bpm'));
|
||||
~pd[\defs].add(OSCdef(\pdTweakMelRq, { |msg| ~melodyRq = msg[1].asFloat; ~reload.value }, '/tweak/melodyRq'));
|
||||
~pd[\defs].add(OSCdef(\pdTweakAcidRq, { |msg| ~acidRq = msg[1].asFloat; ~reload.value }, '/tweak/acidRq'));
|
||||
~pd[\defs].add(OSCdef(\pdTweakDrive, { |msg| ~melodyDrive = msg[1].asFloat; ~reload.value }, '/tweak/melodyDrive'));
|
||||
|
||||
@@ -173,8 +173,7 @@ thisProcess.openUDPPort(~webBridgeIn);
|
||||
|
||||
// ---------- Transport ------------------------------------------------
|
||||
~webBridgeAdd.("/control/bpm", { |msg|
|
||||
~bpm = msg[1];
|
||||
TempoClock.default.tempo = ~bpm / 60;
|
||||
~setTempo.(msg[1]);
|
||||
// Debounce reload : evite de reload a chaque tick du slider
|
||||
~webDebounce.(\webBpmReloadTask, 0.2, { ~reload.value });
|
||||
~webBroadcast.value("/sync/bpm", ~bpm);
|
||||
|
||||
Reference in New Issue
Block a user