fix: sync notes from st.notes + set isPlaying for playhead + metronome count-in

This commit is contained in:
2026-07-25 19:53:45 +07:00
parent f3ad111376
commit d858628a8f
2 changed files with 4 additions and 3 deletions
+2 -1
View File
@@ -4583,6 +4583,7 @@ const PianoRollTabEditor = ({ st, zoom, bpm, viewportWidth, onClose, onUpdateNot
const viewBeats = Math.ceil(viewWidth / pixelsPerBeat) + 4; const viewBeats = Math.ceil(viewWidth / pixelsPerBeat) + 4;
const [notes, setNotes] = React.useState(st.notes || []); const [notes, setNotes] = React.useState(st.notes || []);
React.useEffect(() => { setNotes(st.notes || []); }, [st.notes]);
const brushVelocityRef = React.useRef(0.8); const brushVelocityRef = React.useRef(0.8);
const [selectedNoteIds, setSelectedNoteIds] = React.useState([]); const [selectedNoteIds, setSelectedNoteIds] = React.useState([]);
@@ -9864,7 +9865,7 @@ const App = () => {
setRecTempMidiNotes([]); setRecTempMidiNotes([]);
const ctx = getAudioContext(); const ctx = getAudioContext();
const silentBuf = ctx.createBuffer(1, 128, ctx.sampleRate); const silentBuf = ctx.createBuffer(1, 128, ctx.sampleRate);
setSubTabs(prev => prev.map(s => s.id === tab.id ? { ...s, buffer: silentBuf } : s)); setSubTabs(prev => prev.map(s => s.id === tab.id ? { ...s, buffer: silentBuf, isPlaying: true } : s));
startSubTabPlayback({ ...tab, buffer: silentBuf }, startTime); startSubTabPlayback({ ...tab, buffer: silentBuf }, startTime);
startOffsetTimeRef.current = startTime; startOffsetTimeRef.current = startTime;
startAudioTimeRef.current = context.currentTime; startAudioTimeRef.current = context.currentTime;
File diff suppressed because one or more lines are too long