refactor: route live tempo writers to setTempo

This commit is contained in:
clement
2026-06-28 16:39:53 +02:00
parent e9022fab7d
commit 8d95f3e455
4 changed files with 5 additions and 6 deletions
+1 -1
View File
@@ -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));
+1 -1
View File
@@ -58,7 +58,7 @@
} {
scene.keysValuesDo { |k, v|
if (k == \bpm) {
TempoClock.default.tempo = v / 60;
~setTempo.(v);
} {
currentEnvironment.put(k, v);
};
+2 -2
View File
@@ -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'));
+1 -2
View File
@@ -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);