jam-cloud/web/app/assets/javascripts/react-components/mixins/SessionMediaTracksMixin.js....

40 lines
1.1 KiB
CoffeeScript

context = window
MIX_MODES = context.JK.MIX_MODES
logger = context.JK.logger
@SessionMediaTracksMixin = {
metronomeTrulyGoneCheck: () ->
logger.debug("metronome is completely gone")
@setState({metronomeFlickerTimeout: null})
onInputsChanged: (sessionMixers) ->
session = sessionMixers.session
mixers = sessionMixers.mixers
# the backend delete/adds the metronome rapidly when the user hits play. this is custom code to deal with that
if mixers.mediaSummary.isOpener
mediaCategoryMixer = mixers.getMediaCategoryMixer(@props.mode)
else
mediaCategoryMixer = mixers.getUserMediaCategoryMixer(@props.mode)
state =
isRecording: session.isRecording
mediaSummary: mixers.mediaSummary
backingTracks: mixers.backingTracks
jamTracks: mixers.jamTracks
recordedTracks: mixers.recordedTracks
metronome: mixers.metronome
mediaCategoryMixer: mediaCategoryMixer
recordingName: mixers.recordingName()
jamTrackName: mixers.jamTrackName()
jamTrackMixdown: session.jamTrackMixdown()
@inputsChangedProcessed(state) if @inputsChangedProcessed?
@setState(state)
}