FIX: sửa lỗi playhead đồng bộ giữa các tab, nhấn space có thể bind với phím play
This commit is contained in:
@@ -15966,6 +15966,14 @@ const App = () => {
|
||||
if (e.key === ' ' || e.code === 'Space') {
|
||||
if (window.mediaExplorerActive) return;
|
||||
e.preventDefault();
|
||||
// Ngăn space kích hoạt BUTTON đang focus (tab header/control):
|
||||
// browser fire click tổng hợp ở KEYUP space → click tab header →
|
||||
// CHUYỂN TAB (nhìn như space không play/stop). Blur button trước khi
|
||||
// play/stop — keyup sau đó target body → không click.
|
||||
try {
|
||||
const _ae = document.activeElement;
|
||||
if (_ae && _ae.tagName === 'BUTTON') _ae.blur();
|
||||
} catch (err) { }
|
||||
if (recordingStateRef.current === 'RECORDING' || recordingStateRef.current === 'COUNT_IN') {
|
||||
handleRecordClickRef.current();
|
||||
return;
|
||||
@@ -19525,6 +19533,15 @@ const App = () => {
|
||||
// Sub-tab playback transport
|
||||
const st = subTabs.find(s => s.id === activeTab);
|
||||
if (!st || (!st.buffer && st.type !== 'PIANO_ROLL')) return;
|
||||
// MAIN/SECTION đang play (ngầm — MIDI section/main còn kêu sau khi mở
|
||||
// tab): Space phải STOP trước — không được play sub-tab (user: trong
|
||||
// PIANO ROLL không phát hiện MIDI đang play → space 2 lần mới stop).
|
||||
if (isPlaying) {
|
||||
stopAllPlayback();
|
||||
setSubTabs(prev => prev.map(s => s.isPlaying ? { ...s, isPlaying: false } : s));
|
||||
setIsPlaying(false);
|
||||
return;
|
||||
}
|
||||
if (st.isPlaying) {
|
||||
stopAllPlayback();
|
||||
setSubTabs(prev => prev.map(s => s.id === activeTab ? {
|
||||
|
||||
Reference in New Issue
Block a user