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 = `
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;
+ }
+ }
}