diff --git a/web/app/assets/javascripts/dialog/configureTrackDialog.js b/web/app/assets/javascripts/dialog/configureTrackDialog.js index 1215844d6..ccdee9b1f 100644 --- a/web/app/assets/javascripts/dialog/configureTrackDialog.js +++ b/web/app/assets/javascripts/dialog/configureTrackDialog.js @@ -223,7 +223,12 @@ if (enableVstTimeout) { clearTimeout(enableVstTimeout) } - enableVstTimeout = setTimeout(function() { enableVst() }, 1000) + var isVstLoaded = context.jamClient.IsVstLoaded() + var hasVstAssignment = context.jamClient.hasVstAssignment() + + if (hasVstAssignment && !isVstLoaded) { + enableVstTimeout = setTimeout(function() { enableVst() }, 1000) + } } function enableVst () { diff --git a/web/app/assets/javascripts/react-components/SessionMyTracks.js.jsx.coffee b/web/app/assets/javascripts/react-components/SessionMyTracks.js.jsx.coffee index 017255665..00bc4d052 100644 --- a/web/app/assets/javascripts/react-components/SessionMyTracks.js.jsx.coffee +++ b/web/app/assets/javascripts/react-components/SessionMyTracks.js.jsx.coffee @@ -17,6 +17,10 @@ ReactCSSTransitionGroup = React.addons.CSSTransitionGroup; content = null tracks = [] + console.log("session?.preppingVstEnable", session?.preppingVstEnable) + if @state.session?.preppingVstEnable + delayVstEnable = `
Enabling VSTs ...
` + if @state.tracks.length > 0 for track in @state.tracks track.mode = MIX_MODES.PERSONAL @@ -38,6 +42,7 @@ ReactCSSTransitionGroup = React.addons.CSSTransitionGroup; `

my live tracks

+ {delayVstEnable}
{content} diff --git a/web/app/assets/javascripts/react-components/helpers/SessionHelper.js.coffee b/web/app/assets/javascripts/react-components/helpers/SessionHelper.js.coffee index 50a129972..b7d1daaf7 100644 --- a/web/app/assets/javascripts/react-components/helpers/SessionHelper.js.coffee +++ b/web/app/assets/javascripts/react-components/helpers/SessionHelper.js.coffee @@ -2,12 +2,13 @@ context = window @SessionHelper = class SessionHelper - constructor: (app, session, participantsEverSeen, isRecording, downloadingJamTrack) -> + constructor: (app, session, participantsEverSeen, isRecording, downloadingJamTrack, preppingVstEnable) -> @app = app @session = session @participantsEverSeen = participantsEverSeen @isRecording = isRecording @downloadingJamTrack = downloadingJamTrack + @preppingVstEnable = preppingVstEnable inSession: () -> @session? diff --git a/web/app/assets/javascripts/react-components/stores/SessionStore.js.coffee b/web/app/assets/javascripts/react-components/stores/SessionStore.js.coffee index 811f733a6..85dc3a062 100644 --- a/web/app/assets/javascripts/react-components/stores/SessionStore.js.coffee +++ b/web/app/assets/javascripts/react-components/stores/SessionStore.js.coffee @@ -52,7 +52,7 @@ ConfigureTracksActions = @ConfigureTracksActions @sessionUtils = context.JK.SessionUtils @recordingModel = new context.JK.RecordingModel(@app, rest, context.jamClient); RecordingActions.initModel(@recordingModel) - @helper = new context.SessionHelper(@app, @currentSession, @participantsEverSeen, @isRecording, @downloadingJamTrack) + @helper = new context.SessionHelper(@app, @currentSession, @participantsEverSeen, @isRecording, @downloadingJamTrack, @enableVstTimeout?) onMixdownActive: (mixdown) -> if @currentSession?.jam_track? @@ -63,7 +63,7 @@ ConfigureTracksActions = @ConfigureTracksActions onVideoChanged: (@videoState) -> issueChange: () -> - @helper = new context.SessionHelper(@app, @currentSession, @participantsEverSeen, @isRecording, @downloadingJamTrack) + @helper = new context.SessionHelper(@app, @currentSession, @participantsEverSeen, @isRecording, @downloadingJamTrack, @enableVstTimeout?) this.trigger(@helper) onWindowBackgrounded: () -> @@ -774,10 +774,16 @@ ConfigureTracksActions = @ConfigureTracksActions delayEnableVst: () -> if @enableVstTimeout? clearTimeout(@enableVstTimeout) + @enableVstTimeout = null - @enableVstTimeout = setTimeout((() => - @enableVst() - ), 5000) + isVstLoaded = context.jamClient.IsVstLoaded() + hasVstAssignment = context.jamClient.hasVstAssignment() + + if hasVstAssignment && !isVstLoaded + @enableVstTimeout = setTimeout((() => + @enableVst() + ), 5000) + @issueChange() enableVst: () -> @enableVstTimeout = null @@ -786,6 +792,7 @@ ConfigureTracksActions = @ConfigureTracksActions ConfigureTracksActions.enableVst() else logger.debug("no longer in session; not enabling VSTs at this time") + @issueChange() watchBackendStats: () -> @backendStatsInterval = window.setInterval((() => (@updateBackendStats())), 1000) diff --git a/web/app/assets/stylesheets/client/react-components/SessionScreen.css.scss b/web/app/assets/stylesheets/client/react-components/SessionScreen.css.scss index 3c19758d2..1b0529d02 100644 --- a/web/app/assets/stylesheets/client/react-components/SessionScreen.css.scss +++ b/web/app/assets/stylesheets/client/react-components/SessionScreen.css.scss @@ -464,4 +464,19 @@ $session-screen-divider: 1190px; background-position: -14px 0; } } + + .enable-vst-incoming { + position:absolute; + top:36px; + left:113px; + vertical-align: middle; + line-height: 32px; + height: 32px; + + .spinner-small { + display: inline-block; + vertical-align: middle; + margin-top: -5px; + } + } }