feat(05-02): add 3 WebSocket handlers for JamTrack events
- Extended MIXER_CHANGES: handles jamTrackMixdowns updates - Enhanced JAM_TRACK_CHANGES: parses state correctly with parseInt - Added MIXDOWN_CHANGES: tracks download progress steps - All handlers dispatch correct Redux actions - Added imports: setAvailableMixdowns, setDownloadState Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
8a536ac628
commit
db06357d32
|
|
@ -15,7 +15,8 @@ import {
|
|||
startRecording,
|
||||
stopRecording,
|
||||
addRecordedTrack,
|
||||
setConnectionStatus
|
||||
setConnectionStatus,
|
||||
setAvailableMixdowns
|
||||
} from '../store/features/activeSessionSlice';
|
||||
import {
|
||||
updateMediaSummary,
|
||||
|
|
@ -25,7 +26,8 @@ import {
|
|||
setBackingTracks,
|
||||
setJamTracks,
|
||||
setRecordedTracks,
|
||||
updateJamTrackState
|
||||
updateJamTrackState,
|
||||
setDownloadState
|
||||
} from '../store/features/mediaSlice';
|
||||
|
||||
/**
|
||||
|
|
@ -132,11 +134,31 @@ export const useSessionWebSocket = (sessionId) => {
|
|||
dispatch(setJamTracks(mixers.jamTracks || []));
|
||||
dispatch(setRecordedTracks(mixers.recordedTracks || []));
|
||||
dispatch(setMetronome(mixers.metronome || null));
|
||||
|
||||
// Phase 5 Plan 2: Handle JamTrack mixdown changes
|
||||
if (mixers.jamTrackMixdowns) {
|
||||
dispatch(setAvailableMixdowns(mixers.jamTrackMixdowns));
|
||||
}
|
||||
},
|
||||
|
||||
JAM_TRACK_CHANGES: (changes) => {
|
||||
console.log('Jam track changes received:', changes);
|
||||
dispatch(updateJamTrackState(changes));
|
||||
dispatch(updateJamTrackState({
|
||||
isPlaying: changes.jamTrackState?.isPlaying || false,
|
||||
isPaused: changes.jamTrackState?.isPaused || false,
|
||||
currentPositionMs: parseInt(changes.jamTrackState?.currentPositionMs || '0', 10),
|
||||
lastUpdate: Date.now()
|
||||
}));
|
||||
},
|
||||
|
||||
MIXDOWN_CHANGES: (message) => {
|
||||
console.log('Mixdown changes received:', message);
|
||||
if (message.mixdownPackage) {
|
||||
dispatch(setDownloadState({
|
||||
currentStep: message.mixdownPackage.current_packaging_step || 0,
|
||||
totalSteps: message.mixdownPackage.packaging_steps || 0
|
||||
}));
|
||||
}
|
||||
},
|
||||
|
||||
// Connection events
|
||||
|
|
|
|||
Loading…
Reference in New Issue