FIX: Đã fix (v202608060430) — tab deactive → stop âm tab đó

This commit is contained in:
2026-08-05 17:29:52 +07:00
parent b3ced7a7b3
commit 289746f187
4 changed files with 26 additions and 2 deletions
+14
View File
@@ -14568,8 +14568,22 @@ const App = () => {
updateSfRouting();
}, [tracks, sessionTabs]);
const prevActiveTabRef = useRef(activeTab);
useEffect(() => {
const prevTab = prevActiveTabRef.current;
prevActiveTabRef.current = activeTab;
updateSfRouting();
// Tab DEACTIVE stop âm ca tab đó (user requirement): ri khi sub-tab
// (PIANO_ROLL/section/audio tab) đang play stop playback ca tab đó.
// Tab mi hot đng bình thưng; MAIN gi hành vi cũ (m piano-roll lúc
// main play main tiếp tc handleEditMidiInTab đã x lý).
if (prevTab !== activeTab) {
const prevSub = subTabsRef.current.find(s => s.id === prevTab);
if (prevSub && prevSub.isPlaying) {
try { stopAllPlayback(); } catch (e) {}
setSubTabs(prev => prev.map(s => s.id === prevTab ? { ...s, isPlaying: false } : s));
}
}
}, [activeTab]);
const [selectionCleared, setSelectionCleared] = useState(false); // LOOP_EDITOR_2.md §4.2