close
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 a475caad5..ae4a65a7f 100644
--- a/web/app/assets/javascripts/react-components/helpers/MixerHelper.js.coffee
+++ b/web/app/assets/javascripts/react-components/helpers/MixerHelper.js.coffee
@@ -523,7 +523,7 @@ MIX_MODES = context.JK.MIX_MODES;
# supply the master mixer of a media track, and this function will harvest out the rest
mediaMixers:(masterMixer, isOpener) ->
- personalMixer = if isOpener then @getMixerByResourceId(masterMixer.rid, MIX_MODES.PERSONAL) else null
+ personalMixer = if isOpener then @getMixerByResourceId(masterMixer.rid, MIX_MODES.PERSONAL) else masterMixer
personalVuMixer = if isOpener then personalMixer else masterMixer
{
isOpener: isOpener
@@ -569,6 +569,7 @@ MIX_MODES = context.JK.MIX_MODES;
null
getMixer: (mixerId, mode) ->
+ beforeMode = mode
mode = @mixMode unless mode?
@allMixers[(if mode then 'M' else 'P') + mixerId]
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 6a6430b33..87fe9f0fb 100644
--- a/web/app/assets/javascripts/react-components/mixins/SessionMyTracksMixin.js.coffee
+++ b/web/app/assets/javascripts/react-components/mixins/SessionMyTracksMixin.js.coffee
@@ -89,7 +89,7 @@ MIDI_TRACK = context.JK.MIDI_TRACK
else
logger.warn("SessionMyTracks: unable to find participant")
- this.setState(tracks: tracks, session:session, chat: chat)
+ this.setState(tracks: tracks, mySession:session, chat: chat)
}
\ No newline at end of file
diff --git a/web/app/assets/javascripts/wizard/gear/gear_wizard.js b/web/app/assets/javascripts/wizard/gear/gear_wizard.js
index ebf6202dd..5965657dc 100644
--- a/web/app/assets/javascripts/wizard/gear/gear_wizard.js
+++ b/web/app/assets/javascripts/wizard/gear/gear_wizard.js
@@ -218,11 +218,13 @@
var networkTest = $wizardSteps.filter($('.network-test'))
wizard = new context.JK.Wizard(app);
- stepUnderstandGear.initialize($wizardSteps.filter($('[layout-wizard-step=0]')), self);
- stepSelectGear.initialize($wizardSteps.filter($('[layout-wizard-step=1]')), self);
- stepConfigureTracks.initialize($wizardSteps.filter($('[layout-wizard-step=2]')), self);
- stepConfigureVoiceChat.initialize($wizardSteps.filter($('[layout-wizard-step=3]')), self);
- stepDirectMonitoring.initialize($wizardSteps.filter($('[layout-wizard-step=4]')), self);
+
+ var operatingSystem = context.JK.GetOSAsString();
+ stepUnderstandGear.initialize($wizardSteps.filter($('[layout-wizard-step=0]')), self, operatingSystem);
+ stepSelectGear.initialize($wizardSteps.filter($('[layout-wizard-step=1]')), self, operatingSystem);
+ stepConfigureTracks.initialize($wizardSteps.filter($('[layout-wizard-step=2]')), self, operatingSystem);
+ stepConfigureVoiceChat.initialize($wizardSteps.filter($('[layout-wizard-step=3]')), self, operatingSystem);
+ stepDirectMonitoring.initialize($wizardSteps.filter($('[layout-wizard-step=4]')), self, operatingSystem);
stepSuccess.initialize($wizardSteps.filter($('.success')), self);
var dynamicStepCount = 5
diff --git a/web/app/assets/javascripts/wizard/gear/step_configure_tracks.js b/web/app/assets/javascripts/wizard/gear/step_configure_tracks.js
index f8aa60839..3d8f5fa11 100644
--- a/web/app/assets/javascripts/wizard/gear/step_configure_tracks.js
+++ b/web/app/assets/javascripts/wizard/gear/step_configure_tracks.js
@@ -18,10 +18,16 @@
var wizard = null;
var firstTime = true;
var helpTimeout = null;
+ var operatingSystem = null;
function handleHelp() {
- return "https://www.youtube.com/watch?v=SjMeMZpKNR4"
+ if (operatingSystem == "Win32") {
+ return "https://jamkazam.freshdesk.com/support/solutions/articles/66000123618-setup-wizard-windows-step-3-configuring-your-audio-input-tracks"
+ }
+ else {
+ return "https://jamkazam.freshdesk.com/support/solutions/articles/66000123593-setup-wizard-mac-step-3-configuring-your-audio-input-tracks"
+ }
}
function handleNext() {
@@ -62,10 +68,12 @@
}, 2000)
}
}
- function initialize(_$step, _wizard) {
+ function initialize(_$step, _wizard, _operatingSystem) {
$step = _$step;
wizard = _wizard;
+ operatingSystem = _operatingSystem;
$watchVideoBtn = $step.find('.watch-video')
+ $watchVideoBtn.attr('href', handleHelp())
configureTracksHelper.initialize($step);
}
diff --git a/web/app/assets/javascripts/wizard/gear/step_configure_voice_chat.js b/web/app/assets/javascripts/wizard/gear/step_configure_voice_chat.js
index b33621450..b3a64241d 100644
--- a/web/app/assets/javascripts/wizard/gear/step_configure_voice_chat.js
+++ b/web/app/assets/javascripts/wizard/gear/step_configure_voice_chat.js
@@ -22,9 +22,15 @@
var $watchVideoBtn = null;
var firstTime = true;
var helpTimeout = null;
+ var operatingSystem = null;
function handleHelp() {
- return "https://www.youtube.com/watch?v=f7niycdWm7Y";
+ if (operatingSystem == "Win32") {
+ return "https://jamkazam.freshdesk.com/support/solutions/articles/66000123633-setup-wizard-windows-step-4-setting-up-a-chat-mic"
+ }
+ else {
+ return "https://jamkazam.freshdesk.com/support/solutions/articles/66000123594-setup-wizard-mac-step-4-setting-up-a-chat-mic"
+ }
}
function newSession() {
@@ -66,12 +72,14 @@
}
}
- function initialize(_$step) {
+ function initialize(_$step, _wizard, _operatingSystem) {
$step = _$step;
+ operatingSystem = _operatingSystem;
voiceChatHelper.initialize($step, 'configure_voice_gear_wizard', true, {vuType: "vertical", lightCount: 8, lightWidth: 3, lightHeight: 10}, 101);
$watchVideoBtn = $step.find('.watch-video')
+ $watchVideoBtn.attr('href', handleHelp())
}
this.handleHelp = handleHelp;
diff --git a/web/app/assets/javascripts/wizard/gear/step_direct_monitoring.js b/web/app/assets/javascripts/wizard/gear/step_direct_monitoring.js
index b85464729..ade7a9549 100644
--- a/web/app/assets/javascripts/wizard/gear/step_direct_monitoring.js
+++ b/web/app/assets/javascripts/wizard/gear/step_direct_monitoring.js
@@ -16,7 +16,7 @@
var $watchVideoBtn = null;
var firstTime = true;
var helpTimeout = null;
-
+ var operatingSystem = null;
function checkIfPlaying() {
var currentPositionMs = context.jamClient.SessionCurrrentPlayPosMs();
var atEnd = currentPositionMs == 0 || trackDurationMs == currentPositionMs;
@@ -62,7 +62,12 @@
}
function handleHelp() {
- return "https://www.youtube.com/watch?v=-nC-D3JBHnk";
+ if (operatingSystem == "Win32") {
+ return "https://jamkazam.freshdesk.com/support/solutions/articles/66000123634-setup-wizard-windows-step-5-turning-off-direct-monitoring"
+ }
+ else {
+ return "https://jamkazam.freshdesk.com/support/solutions/articles/66000123595-setup-wizard-mac-step-5-turning-off-direct-monitoring"
+ }
}
function handleNext() {
@@ -126,7 +131,7 @@
}
}
- function initialize(_$step) {
+ function initialize(_$step, _wizard, _operatingSystem) {
$step = _$step;
$directMonitoringBtn = $step.find('.test-direct-monitoring');
@@ -134,6 +139,8 @@
$adjustSettingsDirectMonitor = $step.find('.adjust-settings-direct-monitor');
$adjustSettingsDirectMonitor.on('click', onAdjustGearRequested)
$watchVideoBtn = $step.find('.watch-video')
+ operatingSystem = _operatingSystem
+ $watchVideoBtn.attr('href', handleHelp())
}
this.handleHelp = handleHelp;
diff --git a/web/app/assets/javascripts/wizard/gear/step_select_gear.js b/web/app/assets/javascripts/wizard/gear/step_select_gear.js
index e3e7b4e44..79ffd0f68 100644
--- a/web/app/assets/javascripts/wizard/gear/step_select_gear.js
+++ b/web/app/assets/javascripts/wizard/gear/step_select_gear.js
@@ -1095,8 +1095,14 @@
initializeNextButtonState();
}
+
function handleHelp() {
- return "https://www.youtube.com/channel/UC38nc9MMZgExJAd7ca3rkUA/videos"
+ if (operatingSystem == "Win32") {
+ return "https://jamkazam.freshdesk.com/support/solutions/articles/66000123617-setup-wizard-windows-step-2-setting-up-your-audio-interface"
+ }
+ else {
+ return "https://jamkazam.freshdesk.com/support/solutions/articles/66000123592-setup-wizard-mac-step-2-setting-up-your-audio-interface"
+ }
}
function handleNext() {
@@ -1303,7 +1309,7 @@
}
}
- function initialize(_$step, _wizard) {
+ function initialize(_$step, _wizard, _operatingSystem) {
$step = _$step;
wizard = _wizard;
@@ -1330,7 +1336,10 @@
$resyncStatusText = $step.find('.resynctext');
$latencyScoreBox = $step.find('.latency-score-section')
- operatingSystem = context.JK.GetOSAsString();
+ operatingSystem = _operatingSystem;
+
+ $watchVideoBtn.attr('href', handleHelp())
+
frameBuffers.initialize($knobs);
$(frameBuffers)
.on(frameBuffers.FRAMESIZE_CHANGED, onFramesizeChanged)
diff --git a/web/app/assets/javascripts/wizard/gear/step_understand_gear.js b/web/app/assets/javascripts/wizard/gear/step_understand_gear.js
index 2a1de8bb6..e94f12a42 100644
--- a/web/app/assets/javascripts/wizard/gear/step_understand_gear.js
+++ b/web/app/assets/javascripts/wizard/gear/step_understand_gear.js
@@ -9,7 +9,12 @@
var operatingSystem;
function handleHelp() {
- return "https://www.youtube.com/watch?v=Z1GxCljtdCY";
+ if (operatingSystem == "Win32") {
+ return "https://jamkazam.freshdesk.com/support/solutions/articles/66000123616-setup-wizard-windows-step-1-starting-the-setup-wizard"
+ }
+ else {
+ return "https://jamkazam.freshdesk.com/support/solutions/articles/66000123577-setup-wizard-mac-step-1-starting-the-setup-wizard"
+ }
}
function beforeShow() {
@@ -18,13 +23,13 @@
if (operatingSystem == "Win32") {
$watchVideo.attr('href', 'https://www.youtube.com/watch?v=Z1GxCljtdCY');
}
- $watchVideo.attr('href', videoUrl);
+ $watchVideo.attr('href', handleHelp());
}
- function initialize(_$step) {
+ function initialize(_$step, _wizard, _operatingSystem) {
$step = _$step;
- operatingSystem = context.JK.GetOSAsString();
+ operatingSystem = _operatingSystem;
}
this.handleHelp = handleHelp;
diff --git a/web/app/assets/stylesheets/client/help.scss b/web/app/assets/stylesheets/client/help.scss
index 10d1afa4b..105cd2a15 100644
--- a/web/app/assets/stylesheets/client/help.scss
+++ b/web/app/assets/stylesheets/client/help.scss
@@ -74,6 +74,10 @@ html {
}
}
+ .session-help {
+ padding:5px;
+ }
+
.big-dark-help {
font-size:20px;
color: $ColorTextTypical;
diff --git a/web/app/assets/stylesheets/client/react-components/SessionScreen.scss b/web/app/assets/stylesheets/client/react-components/SessionScreen.scss
index b9797b1c3..97d4fef40 100644
--- a/web/app/assets/stylesheets/client/react-components/SessionScreen.scss
+++ b/web/app/assets/stylesheets/client/react-components/SessionScreen.scss
@@ -210,6 +210,15 @@ $session-screen-divider: 1190px;
color: $ColorTextTypical;
overflow: hidden;
position: relative;
+
+ .session-tracks-help {
+ font-size:14px;
+ text-decoration: none;
+ cursor: pointer;
+ color:$ColorLink;
+ top: -2px;
+ position: relative;
+ }
}
.my-tracks-header {
@@ -304,10 +313,12 @@ $session-screen-divider: 1190px;
}
.when-empty {
- margin-top: 25px;
- margin-left: 22px;
+ //margin-top: 25px;
+ //margin-left: 22px;
+ margin:5px 0 10px 0;
color: $ColorTextTypical;
overflow: hidden;
+ font-size:12px;
}
.session-track-settings {
diff --git a/web/app/views/clients/_help.html.slim b/web/app/views/clients/_help.html.slim
index 1951c87a4..b4ad3e853 100644
--- a/web/app/views/clients/_help.html.slim
+++ b/web/app/views/clients/_help.html.slim
@@ -71,6 +71,43 @@ script type="text/template" id="template-help-recording-count"
script type="text/template" id="template-help-session-count"
| The number of sessions that this {{data.entity_type}} has played in.
+script type="text/template" id="template-help-session-audio-inputs-instructions"
+ .session-audio-inputs-instructions.big-dark-help.session-help
+ p
+ | In this Audio Inputs section, set the input level on each of your audio tracks to a healthy level.
+ br
+ p
+ | To do this, hover your mouse over the volume icon on one of your audio tracks. You'll see a slider with meter lights on the sides. Use the gain knobs on your audio interface or the slider in the JamKazam app to adjust your input level up or down. Play and/or sing, and watch where the meter lights peak. These lights should reach the top of the green lights, and maybe one light into the orange/red zone.
+ br
+ p
+ | If your input is set too high, you'll get clipping and distortion. If your input is set too low, your audio may be too soft, or you'll get too much white noise mixed with your audio signal.
+
+script type="text/template" id="template-help-session-personal-mix-instructions"
+ .session-personal-mix-instructions.big-dark-help.session-help
+ p
+ | In this Personal Mix section, adjust the volume of each audio track in your session to get the mix where you like it.
+ br
+ p
+ | To do this, hover your mouse over the volume icon on any of the audio tracks. You'll see a slider with meter lights on the sides. Pull the slider in the JamKazam app up to make the track louder in the mix, or pull the slider down to make the track softer in the mix. Don't worry, as these changes only affect what you hear - they don't change what others in your sessions hear.
+ br
+ p
+ | Also, please note that your personal mix is the mix that will be used for any recordings that you personally make in the session and also for any broadcast that you personally send from your computer to YouTube, Facebook, etc. If another musician in your session makes a recording or broadcasts your session, that musician's personal mix is the mix that will be used.
+
+
+script type="text/template" id="template-help-session-media-tracks-instructions"
+ .session-media-tracks-instructions.big-dark-help.session-help
+ p
+ | In this Recorded Audio section, you can open recordings you've made in JamKazam sessions, JamTracks (multi-track recordings of popular songs) you've purchased from JamKazam, or audio files (i.e. simple backing tracks). You can also start a metronome that everyone in the session will hear.
+ br
+ p
+ | For any of these features, you can adjust the associated volume of audio in your session to get the mix where you like it.
+ br
+ p
+ | To do this, hover your mouse over the volume icon on any of the audio tracks. You'll see a slider with meter lights on the sides. Pull the slider in the JamKazam app up to make the track louder in your personal mix, or pull the slider down to make the track softer in your mix. Don't worry, as these changes only affect what you hear - they don't change what others in your sessions hear.
+ br
+ p
+ | Also, please note that your personal mix is the mix that will be used for any recordings that you personally make in the session and also for any broadcast that you personally send from your computer to YouTube, Facebook, etc. If another musician in your session makes a recording or broadcasts your session, that musician's personal mix is the mix that will be used.
+
script type="text/template" id="template-help-musician-score-count"
.help-musician-score-count
p
diff --git a/web/app/views/clients/index.html.erb b/web/app/views/clients/index.html.erb
index daa6ae36d..7c0fd678a 100644
--- a/web/app/views/clients/index.html.erb
+++ b/web/app/views/clients/index.html.erb
@@ -373,8 +373,8 @@
var singlePlayerProfileGuardDialog = new JK.SinglePlayerProfileGuardDialog(JK.app);
singlePlayerProfileGuardDialog.initialize();
- var sessionMasterMixDialog = new JK.SessionMasterMixDialog(JK.app);
- sessionMasterMixDialog.initialize();
+ //var sessionMasterMixDialog = new JK.SessionMasterMixDialog(JK.app);
+ //sessionMasterMixDialog.initialize();
var signinDialog = new JK.SigninDialog(JK.app);
signinDialog.initialize();
diff --git a/web/app/views/clients/wizard/gear/_gear_wizard.html.haml b/web/app/views/clients/wizard/gear/_gear_wizard.html.haml
index cdbd11bd4..de9a2d795 100644
--- a/web/app/views/clients/wizard/gear/_gear_wizard.html.haml
+++ b/web/app/views/clients/wizard/gear/_gear_wizard.html.haml
@@ -11,7 +11,7 @@
It will take a few minutes, but it will educate you and save you time and trouble.
.center.video-button-holder
- %a.button-orange.watch-video{href:"#", rel:'external'} WATCH VIDEO
+ %a.button-orange.watch-video{href:"#", rel:'external'} INSTRUCTIONS
.wizard-step{ 'layout-wizard-step' => "1", 'dialog-title' => "Select & Test Audio Gear", 'dialog-purpose' => "SelectAudioGear" }
.ftuesteps
@@ -27,7 +27,7 @@
%li Configure interface settings.
%li View test results.
.center
- %a.button-orange.watch-video{href:'https://jamkazam.desk.com/customer/en/portal/articles/2400685-using-the-setup-wizard-%E2%80%93-step-2-%E2%80%93-select-and-test-audio-gear', rel:'external'}
+ %a.button-orange.watch-video{rel:'external'}
INSTRUCTIONS
.wizard-step-column
%h2 Audio Input Device
@@ -68,7 +68,7 @@
%li Edit the first audio track using the "update" link to set it up as an instrumental or vocal track as you like.
%li If desired, add other audio or MIDI tracks for other instruments or vocals.
.center
- %a.button-orange.watch-video{href:'https://jamkazam.desk.com/customer/en/portal/articles/2400702-using-the-setup-wizard-%E2%80%93-step-3-%E2%80%93-configure-tracks', rel:'external'} INSTRUCTIONS
+ %a.button-orange.watch-video{rel:'external'} INSTRUCTIONS
.wizard-step-column
= react_component 'ConfigureTracks', {}
@@ -83,7 +83,7 @@
%p If you have set up a mic in step 2 for your instrument or voice, click Next to move forward.
%p Otherwise, follow the instructions to set up a voice chat mic.
.center
- %a.button-orange.watch-video{href:'https://jamkazam.desk.com/customer/en/portal/articles/2400826-using-the-setup-wizard-%E2%80%93-step-4-%E2%80%93-configure-voice-chat', rel:'external'} INSTRUCTIONS
+ %a.button-orange.watch-video{rel:'external'} INSTRUCTIONS
.wizard-step-column
%h2.sub-header Select Voice Chat Option
%form.voice
@@ -123,7 +123,7 @@
= "If audio is poor try "
%a.adjust-settings-direct-monitor{'href'=>'#'}tweaking your settings
.center
- %a.button-orange.watch-video{href:'https://jamkazam.desk.com/customer/en/portal/articles/2400827-using-the-setup-wizard-%E2%80%93-step-5-%E2%80%93-turn-off-direct-monitoring', rel:'external'} INSTRUCTIONS
+ %a.button-orange.watch-video{rel:'external'} INSTRUCTIONS
.wizard-step-column
.help-content
When you have fully turned off the direct monitoring control (if any) on your audio interface,
diff --git a/web/app/views/dialogs/_sessionMasterMixDialog.html.slim b/web/app/views/dialogs/_sessionMasterMixDialog.html.slim
index 15a04c214..95dec3b9b 100644
--- a/web/app/views/dialogs/_sessionMasterMixDialog.html.slim
+++ b/web/app/views/dialogs/_sessionMasterMixDialog.html.slim
@@ -5,5 +5,5 @@
.dialog-inner
p.notice
| The master mix is the audio mix used for both recordings and live broadcasts of session audio. Changes to the master mix are global, so there is only one master mix for the session. The master mix does not include controls for the metronome because the metronome is not recorded or broadcast. Any user in the session may use the volume and pan controls below to make adjustments to the master mix for everyone in the session.
- = react_component 'SessionMasterMix', {}
+ //= react_component 'SessionMasterMix', {}
a.button-orange.close-button layout-action="close" CLOSE