FIX: Đã fix (v202608060430) — tab deactive → stop âm tab đó
This commit is contained in:
@@ -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 của tab đó (user requirement): rời khỏi sub-tab
|
||||
// (PIANO_ROLL/section/audio tab) đang play → stop playback của tab đó.
|
||||
// Tab mới hoạt động bình thường; MAIN giữ hành vi cũ (mở piano-roll lúc
|
||||
// main play → main tiếp tục — 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
|
||||
|
||||
Reference in New Issue
Block a user