diff --git a/web/app/assets/javascripts/faderHelpers.js b/web/app/assets/javascripts/faderHelpers.js index 98b901626..9da5eb923 100644 --- a/web/app/assets/javascripts/faderHelpers.js +++ b/web/app/assets/javascripts/faderHelpers.js @@ -203,6 +203,19 @@ return temp; }, + + convertPercentToAudioTaper: function (input) { + + // composite function resembling audio taper + if (input <= 1) { return -80; } + if (input <= 28) { return (2 * input - 80); } + if (input <= 79) { return (0.5 * input - 38); } + if (input < 99) { return (0.875 * input - 67.5); } + if (input >= 99) { return 20; } + + }, + + setFaderValue: function (faderId, faderValue) { var $fader = $('[fader-id="' + faderId + '"]'); this.setHandlePosition($fader, faderValue); diff --git a/web/app/assets/javascripts/session.js b/web/app/assets/javascripts/session.js index 25a5e0915..b77a45831 100644 --- a/web/app/assets/javascripts/session.js +++ b/web/app/assets/javascripts/session.js @@ -1147,8 +1147,8 @@ // volumes on trackVolumeObject, and call SetControlState to stick. var sliderValue = percentToMixerValue( currentMixerRangeMin, currentMixerRangeMax, volumePercent); - context.trackVolumeObject.volL = sliderValue; - context.trackVolumeObject.volR = sliderValue; + context.trackVolumeObject.volL = context.JK.FaderHelpers.convertPercentToAudioTaper(volumePercent); + context.trackVolumeObject.volR = context.JK.FaderHelpers.convertPercentToAudioTaper(volumePercent); // Special case for L2M mix: if (mixerId === '__L2M__') { logger.debug("L2M volumePercent=" + volumePercent);