diff --git a/server/src/utils/MixerConnection.ts b/server/src/utils/MixerConnection.ts index 1aaf0508..906b9d69 100644 --- a/server/src/utils/MixerConnection.ts +++ b/server/src/utils/MixerConnection.ts @@ -432,6 +432,11 @@ export class MixerGenericConnection { channel: channelIndex, active: true, }) + // If fadeTime is 0 - jump to level and don't use timer + if (fadeTime === 0) { + this.jumpToLevel(mixerIndex, channelIndex, faderIndex) + return + } if ( state.faders[0].fader[faderIndex].pgmOn || state.faders[0].fader[faderIndex].voOn @@ -442,6 +447,22 @@ export class MixerGenericConnection { } } + jumpToLevel = (mixerIndex: number, channelIndex: number, faderIndex: number) => { + let targetVal = state.faders[0].fader[faderIndex].faderLevel + if (state.faders[0].fader[faderIndex].voOn) { + targetVal = (targetVal * (100 - state.settings[0].voLevel)) / 100 + } + this.mixerConnection[mixerIndex].updateFadeIOLevel(channelIndex, targetVal) + store.dispatch({ + type: ChannelActionTypes.SET_OUTPUT_LEVEL, + mixerIndex: mixerIndex, + channel: channelIndex, + level: targetVal, + }) + sendChLevelsToOuputServer(mixerIndex, channelIndex, targetVal) + this.delayedFadeActiveDisable(mixerIndex, channelIndex) + } + fadeUp = ( mixerIndex: number, channelIndex: number,