+ {/* Tempo Track TCP - LOOP_EDITOR_2.md §6 */}
+
+
+
+ TM
+ Tempo Track
+
+
+ setBpm(e.target.value)}
+ onBlur={() => localStorage.setItem('studio_bpm', bpm)}
+ className="w-12 bg-zinc-800 border border-zinc-700 rounded text-[10px] text-zinc-300 text-center font-mono focus:outline-none focus:border-purple-500"
+ min="40"
+ max="300"
+ />
+ BPM
+
+
+
+
{tracks.map((track, idx) => {
const isSelected = selectedTrackId === track.id;
return (
@@ -2266,6 +2388,12 @@
{/* Stacked Lanes */}
+ {/* Tempo Track Lane - LOOP_EDITOR_2.md §6 */}
+
+
+
+
{tracks.map((track) => {
const isSelected = selectedTrackId === track.id;
return (