diff --git a/lib/hooks/useMultiTrack.ts b/lib/hooks/useMultiTrack.ts index 8b11e0c..d6a82ee 100644 --- a/lib/hooks/useMultiTrack.ts +++ b/lib/hooks/useMultiTrack.ts @@ -33,7 +33,20 @@ export function useMultiTrack() { if (typeof window === 'undefined') return; try { - const trackData = tracks.map(({ audioBuffer, ...track }) => track); + // Only save serializable fields, excluding audioBuffer and any DOM references + const trackData = tracks.map((track) => ({ + id: track.id, + name: String(track.name || 'Untitled Track'), + color: track.color, + height: track.height, + volume: track.volume, + pan: track.pan, + mute: track.mute, + solo: track.solo, + recordEnabled: track.recordEnabled, + collapsed: track.collapsed, + selected: track.selected, + })); localStorage.setItem(STORAGE_KEY, JSON.stringify(trackData)); } catch (error) { console.error('Failed to save tracks to localStorage:', error);