diff --git a/web/app/assets/javascripts/react-components/MediaControls.js.jsx.coffee b/web/app/assets/javascripts/react-components/MediaControls.js.jsx.coffee index e4a1d9d42..ae20ed587 100644 --- a/web/app/assets/javascripts/react-components/MediaControls.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/MediaControls.js.jsx.coffee @@ -19,9 +19,11 @@ MixerActions = reactContext.MixerActions MediaPlaybackStore = reactContext.MediaPlaybackStore SessionActions = reactContext.SessionActions MediaPlaybackActions = reactContext.MediaPlaybackActions +JamTrackStore = reactContext.JamTrackStore mixins.push(Reflux.listenTo(MixerStore,"onInputsChanged")) mixins.push(Reflux.listenTo(MediaPlaybackStore, 'onMediaStateChanged')) +mixins.push(Reflux.listenTo(JamTrackStore, 'onJamTrackStateChanged')) @MediaControls = React.createClass({ @@ -29,6 +31,10 @@ mixins.push(Reflux.listenTo(MediaPlaybackStore, 'onMediaStateChanged')) mixins: mixins tempos : [ 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 63, 66, 69, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 126, 132, 138, 144, 152, 160, 168, 176, 184, 192, 200, 208 ] + onJamTrackStateChanged: (jamTrackState) -> + @monitorControls(@state.controls, @state.mediaSummary, jamTrackState) + @setState({jamTrackState: jamTrackState}) + onMediaStateChanged: (changes) -> if changes.playbackStateChanged if @state.controls? @@ -53,7 +59,7 @@ mixins.push(Reflux.listenTo(MediaPlaybackStore, 'onMediaStateChanged')) mediaSummary = mixers.mediaSummary metro = mixers.metro - @monitorControls(@state.controls, mediaSummary) + @monitorControls(@state.controls, mediaSummary, @state.jamTrackState) @setState({mediaSummary: mediaSummary, metro: metro}) @updateMetronomeDetails(metro, @state.initializedMetronomeControls) @@ -69,10 +75,10 @@ mixins.push(Reflux.listenTo(MediaPlaybackStore, 'onMediaStateChanged')) logger.debug("settingcricket", mode) $root.find('#metronome-playback-select').metronomeSetPlaybackMode(mode) - monitorControls: (controls, mediaSummary) -> + monitorControls: (controls, mediaSummary, jamTrackState) -> - if mediaSummary.mediaOpen || mediaSummary.jamTrack? - if mediaSummary.jamTrackOpen? + if mediaSummary.mediaOpen || mediaSummary.jamTrack? || jamTrackState?.jamTrack? + if mediaSummary.jamTrackOpen? || mediaSummary.jamTrack? || jamTrackState?.jamTrack? controls.startMonitor(PLAYBACK_MONITOR_MODE.JAMTRACK) else if mediaSummary.backingTrackOpen controls.startMonitor(PLAYBACK_MONITOR_MODE.MEDIA_FILE) @@ -203,10 +209,11 @@ mixins.push(Reflux.listenTo(MediaPlaybackStore, 'onMediaStateChanged')) mediaSummary = MixerStore.mixers.mediaSummary metro = MixerStore.mixers.metro + jamTrackState = JamTrackStore.getState() - @monitorControls(controls, mediaSummary) + @monitorControls(controls, mediaSummary, jamTrackState) @tryPrepareMetronome(metro) - @setState({mediaSummary: mediaSummary, controls: controls, metro: metro}) + @setState({mediaSummary: mediaSummary, controls: controls, metro: metro, jamTrackState: jamTrackState}) }) \ No newline at end of file diff --git a/web/app/assets/javascripts/react-components/PopupMediaControls.js.jsx.coffee b/web/app/assets/javascripts/react-components/PopupMediaControls.js.jsx.coffee index a475ffecd..22f2a8034 100644 --- a/web/app/assets/javascripts/react-components/PopupMediaControls.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/PopupMediaControls.js.jsx.coffee @@ -128,7 +128,10 @@ mixins.push(Reflux.listenTo(JamTrackStore, 'onJamTrackChanged')) customMixName = `

