54 lines
1.4 KiB
CoffeeScript
54 lines
1.4 KiB
CoffeeScript
context = window
|
|
|
|
@SessionActions = Reflux.createActions({
|
|
enterSession: {}
|
|
joinSession: {}
|
|
leaveSession: {}
|
|
mixersChanged: {}
|
|
allowLeaveSession: {}
|
|
syncWithServer: {}
|
|
toggleSessionVideo : {}
|
|
audioResync: {}
|
|
openBackingTrack: {}
|
|
closeMedia: {}
|
|
updateSession: {}
|
|
downloadingJamTrack : {}
|
|
openMetronome: {}
|
|
showNativeMetronomeGui: {}
|
|
metronomeCricketChange: {}
|
|
windowBackgrounded: {}
|
|
broadcastFailure: {}
|
|
broadcastSuccess: {}
|
|
broadcastStopped: {}
|
|
mixdownActive: {}
|
|
sessionJoinedByOther: {}
|
|
navToSession: {}
|
|
log: {}
|
|
})
|
|
|
|
pushJoinActionTrace = (source, argsLike) ->
|
|
return unless context.JK?.DebugLogCollector?.push
|
|
args = Array::slice.call(argsLike ? [])
|
|
context.JK.DebugLogCollector.push("join-source.session-action", {
|
|
source: source
|
|
args: args
|
|
stack: (new Error("SessionActions.joinSession")).stack
|
|
})
|
|
|
|
if @SessionActions?.joinSession?
|
|
originalJoinAction = @SessionActions.joinSession
|
|
wrappedJoinAction = ->
|
|
pushJoinActionTrace('call', arguments)
|
|
originalJoinAction.apply(this, arguments)
|
|
|
|
for own key, value of originalJoinAction
|
|
wrappedJoinAction[key] = value
|
|
|
|
if originalJoinAction.trigger?
|
|
originalTrigger = originalJoinAction.trigger
|
|
wrappedJoinAction.trigger = ->
|
|
pushJoinActionTrace('trigger', arguments)
|
|
originalTrigger.apply(originalJoinAction, arguments)
|
|
|
|
@SessionActions.joinSession = wrappedJoinAction
|