diff --git a/jam-ui/src/components/client/JKSessionBackingTrackPlayer.js b/jam-ui/src/components/client/JKSessionBackingTrackPlayer.js index 13a447be0..5bec25c41 100644 --- a/jam-ui/src/components/client/JKSessionBackingTrackPlayer.js +++ b/jam-ui/src/components/client/JKSessionBackingTrackPlayer.js @@ -49,8 +49,8 @@ const JKSessionBackingTrackPlayer = ({ const durationInMs = await jamClient.SessionGetTracksPlayDurationMs(); console.log('JKSessionBackingTrackPlayer: Duration from jamClient:', durationInMs, 'Type:', typeof durationInMs); - // Ensure we have a valid number - const validDuration = (durationInMs != null && !isNaN(durationInMs) && durationInMs >= 0) ? durationInMs : 0; + // Convert string to number (jamClient returns string values) + const validDuration = parseInt(durationInMs, 10) || 0; setDurationMs(validDuration); setDuration(formatTime(validDuration)); } catch (error) { @@ -81,9 +81,9 @@ const JKSessionBackingTrackPlayer = ({ console.log('JKSessionBackingTrackPlayer polling:', { positionMs, durationInMs, trackIsPlaying }); - // Ensure valid numbers - const validPosition = (positionMs != null && !isNaN(positionMs) && positionMs >= 0) ? positionMs : 0; - const validDuration = (durationInMs != null && !isNaN(durationInMs) && durationInMs >= 0) ? durationInMs : 0; + // Convert strings to numbers (jamClient returns string values) + const validPosition = parseInt(positionMs, 10) || 0; + const validDuration = parseInt(durationInMs, 10) || 0; setCurrentPositionMs(validPosition); setCurrentTime(formatTime(validPosition)); @@ -115,8 +115,8 @@ const JKSessionBackingTrackPlayer = ({ await jamClient.SessionPausePlay(); setIsPlaying(false); } else { - // Play - await jamClient.SessionStartPlay(); + // Play (1 = normal playback mode) + await jamClient.SessionStartPlay(1); setIsPlaying(true); } } catch (error) {