jam-cloud/web/app/assets/javascripts/react-components/stores/CallbackStore.js.coffee

45 lines
1.6 KiB
CoffeeScript

$ = jQuery
context = window
logger = context.JK.logger
RecordingActions = @RecordingActions
SessionActions = @SessionActions
JamBlasterActions = @JamBlasterActions
VideoLiveStreamActions = @VideoLiveStreamActions
#window.StupidCallback: () =>
# alert("STUPID CALLBACK")
@CallbackStore = Reflux.createStore(
{
init: () ->
# Register with the app store to get @app
this.listenTo(context.AppStore, this.onAppInit)
onAppInit: (@app) ->
if context.jamClientAdapter.RegisterGenericCallBack?
context.jamClientAdapter.RegisterGenericCallBack('CallbackStore.onGenericCallback')
#context.jamClientAdapter.RegisterGenericCallBack('StupidCallback')
onGenericCallback: (map) ->
if map.cmd == 'join_session'
payload = {
session_id: map['music_session_id'],
raw_map: map
stack: (new Error("generic-callback join_session")).stack
}
logger.debug("[join-source] generic-callback join_session", payload)
if context.JK?.DebugLogCollector?.push
context.JK.DebugLogCollector.push("join-source.generic-callback.join_session", payload)
SessionActions.joinSession(map['music_session_id'])
else if map.cmd == 'start_livestream'
VideoLiveStreamActions.startLiveStream()
else if map.cmd == 'client_pair_state'
JamBlasterActions.pairState(map)
else if map.cmd == 'jamblaster_tracks_updated'
JamBlasterActions.jamblasterTracksUpdated()
else if map.cmd == 'file_xfer_from_parent'
if map.filename && map.filename.indexOf('RT-mix.wav') > -1
RecordingActions.mixTransferred()
}
)