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 06e7d6535..b73105757 100644
--- a/web/app/assets/javascripts/react-components/PopupMediaControls.js.jsx.coffee
+++ b/web/app/assets/javascripts/react-components/PopupMediaControls.js.jsx.coffee
@@ -89,11 +89,13 @@ mixins.push(Reflux.listenTo(MediaPlaybackStore, 'onMediaStateChanged'))
context.JK.checkbox($loop)
$loop.on('ifChecked', () =>
- console.log("@props", @props)
- MixerActions.loopChanged(@props.backingTracks[0].mixers.mixer, true)
+ logger.debug("@props", @props)
+ # it doesn't matter if you do personal or master, because backend just syncs both
+ MixerActions.loopChanged(@props.backingTracks[0].mixers.personal.mixer, true)
)
$loop.on('ifUnchecked', () =>
- MixerActions.loopChanged(@props.backingTracks[0].mixers.mixer, false)
+ # it doesn't matter if you do personal or master, because backend just syncs both
+ MixerActions.loopChanged(@props.backingTracks[0].mixers.personal.mixer, false)
)
@resizeWindow()
diff --git a/web/app/assets/javascripts/react-components/SessionBackingTrack.js.jsx.coffee b/web/app/assets/javascripts/react-components/SessionBackingTrack.js.jsx.coffee
index f94f96ff4..049234abd 100644
--- a/web/app/assets/javascripts/react-components/SessionBackingTrack.js.jsx.coffee
+++ b/web/app/assets/javascripts/react-components/SessionBackingTrack.js.jsx.coffee
@@ -40,7 +40,7 @@ MixerActions = @MixerActions
"backing-track" : true
})
- pan = mixers.mixer.pan
+ pan = if mixers.mixer? then mixers.mixer?.pan else 0
panStyle = {
transform: "rotate(#{pan}deg)"
diff --git a/web/app/assets/javascripts/react-components/SessionJamTrack.js.jsx.coffee b/web/app/assets/javascripts/react-components/SessionJamTrack.js.jsx.coffee
index fb5ce656b..7cbe3f6d6 100644
--- a/web/app/assets/javascripts/react-components/SessionJamTrack.js.jsx.coffee
+++ b/web/app/assets/javascripts/react-components/SessionJamTrack.js.jsx.coffee
@@ -40,7 +40,7 @@ MixerActions = @MixerActions
"jam-track" : true
})
- pan = mixers.mixer.pan
+ pan = if mixers.mixer? then mixers.mixer?.pan else 0
panStyle = {
transform: "rotate(#{pan}deg)"
diff --git a/web/app/assets/javascripts/react-components/SessionMasterMix.js.jsx.coffee b/web/app/assets/javascripts/react-components/SessionMasterMix.js.jsx.coffee
index 51a9be63a..8227a6e06 100644
--- a/web/app/assets/javascripts/react-components/SessionMasterMix.js.jsx.coffee
+++ b/web/app/assets/javascripts/react-components/SessionMasterMix.js.jsx.coffee
@@ -8,6 +8,6 @@ MIX_MODES = context.JK.MIX_MODES
-
+
`
})
\ No newline at end of file
diff --git a/web/app/assets/javascripts/react-components/SessionMetronome.js.jsx.coffee b/web/app/assets/javascripts/react-components/SessionMetronome.js.jsx.coffee
index 41bc7a8bf..5c34c0357 100644
--- a/web/app/assets/javascripts/react-components/SessionMetronome.js.jsx.coffee
+++ b/web/app/assets/javascripts/react-components/SessionMetronome.js.jsx.coffee
@@ -31,7 +31,7 @@ MixerActions = @MixerActions
"metronome" : true
})
- pan = mixers.mixer.pan
+ pan = if mixers.mixer? then mixers.mixer?.pan else 0
panStyle = {
transform: "rotate(#{pan}deg)"
diff --git a/web/app/assets/javascripts/react-components/SessionOtherTrack.js.jsx.coffee b/web/app/assets/javascripts/react-components/SessionOtherTrack.js.jsx.coffee
index c148cf198..e0148d343 100644
--- a/web/app/assets/javascripts/react-components/SessionOtherTrack.js.jsx.coffee
+++ b/web/app/assets/javascripts/react-components/SessionOtherTrack.js.jsx.coffee
@@ -13,7 +13,9 @@ MixerActions = @MixerActions
muting = $(e.currentTarget).is('.enabled')
- MixerActions.mute([this.props.mixers.mixer, this.props.mixers.oppositeMixer], muting)
+ mixers = if this.props.tracks.length > 0 then this.props.tracks[0].mixers else {}
+
+ MixerActions.mute([mixers.mixer], muting)
render: () ->
diff --git a/web/app/assets/javascripts/react-components/SessionRecordedTrack.js.jsx.coffee b/web/app/assets/javascripts/react-components/SessionRecordedTrack.js.jsx.coffee
index 8034ae4cb..2d652a191 100644
--- a/web/app/assets/javascripts/react-components/SessionRecordedTrack.js.jsx.coffee
+++ b/web/app/assets/javascripts/react-components/SessionRecordedTrack.js.jsx.coffee
@@ -40,7 +40,7 @@ MixerActions = @MixerActions
"recorded-track" : true
})
- pan = mixers.mixer.pan
+ pan = if mixers.mixer? then mixers.mixer?.pan else 0
panStyle = {
transform: "rotate(#{pan}deg)"
diff --git a/web/app/assets/javascripts/react-components/helpers/MixerHelper.js.coffee b/web/app/assets/javascripts/react-components/helpers/MixerHelper.js.coffee
index 403a9c202..065782ab9 100644
--- a/web/app/assets/javascripts/react-components/helpers/MixerHelper.js.coffee
+++ b/web/app/assets/javascripts/react-components/helpers/MixerHelper.js.coffee
@@ -505,6 +505,10 @@ MIX_MODES = context.JK.MIX_MODES;
mixers = if mixMode == MIX_MODES.MASTER then @masterMixers else @personalMixers;
for mixer in mixers
+ unless mixer?
+ logger.debug("empty mixer: ", mixers)
+ continue
+
if mixer.client_id == clientId
for groupId in groupIds
if mixer.group_id == groupId
@@ -746,6 +750,7 @@ MIX_MODES = context.JK.MIX_MODES;
if mixer?
context.JK.VuHelpers.updateVU3(mixer, leftValue, leftClipping, rightValue, rightClipping)
+
###
if mixer
if mixer.stereo # // stereo track
diff --git a/web/app/assets/javascripts/react-components/mixins/SessionMyTracksMixin.js.coffee b/web/app/assets/javascripts/react-components/mixins/SessionMyTracksMixin.js.coffee
index 937102629..3af65b420 100644
--- a/web/app/assets/javascripts/react-components/mixins/SessionMyTracksMixin.js.coffee
+++ b/web/app/assets/javascripts/react-components/mixins/SessionMyTracksMixin.js.coffee
@@ -12,18 +12,18 @@ context = window
if session.inSession()
participant = session.getParticipant(@app.clientId)
- photoUrl = context.JK.resolveAvatarUrl(participant.user.photo_url);
-
- chatMixer = mixers.chatMixer
- chat = null
- if chatMixer
- chat =
- mixers: chatMixer
- mode: @props.mode
- photoUrl: photoUrl
-
if participant
+ photoUrl = context.JK.resolveAvatarUrl(participant.user.photo_url);
+
+ chatMixer = mixers.chatMixer
+ chat = null
+ if chatMixer
+ chat =
+ mixers: chatMixer
+ mode: @props.mode
+ photoUrl: photoUrl
+
name = participant.user.name;
for track in participant.tracks
diff --git a/web/app/assets/javascripts/vuHelpers.js b/web/app/assets/javascripts/vuHelpers.js
index 4a83917ff..e2173f6dd 100644
--- a/web/app/assets/javascripts/vuHelpers.js
+++ b/web/app/assets/javascripts/vuHelpers.js
@@ -217,9 +217,6 @@
var fqId = this.createQualifiedId(mixer)
- if(mixer.group_id == 13) {
- logger.debug("mixer", mixer)
- }
var registrations = this.registeredMixers[fqId]
if (registrations) {
var j;