From b7ca75f9cb57ef0f5dd42ce8be8401a381e0d59a Mon Sep 17 00:00:00 2001 From: olzzon Date: Tue, 24 Mar 2020 21:44:23 +0100 Subject: [PATCH] feat: Studer support - basic level for OnAir3000 --- .../mixerProtocols/StuderVistaEmber.ts | 42 +++++++++---------- server/utils/MixerConnection.ts | 3 ++ 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/server/constants/mixerProtocols/StuderVistaEmber.ts b/server/constants/mixerProtocols/StuderVistaEmber.ts index 5a1f57a9..691904ea 100644 --- a/server/constants/mixerProtocols/StuderVistaEmber.ts +++ b/server/constants/mixerProtocols/StuderVistaEmber.ts @@ -1,10 +1,10 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface'; export const StuderVistaMaster: IMixerProtocol = { - protocol: 'EMBER', + protocol: 'STUDER', label: 'Studer Vista - NOT WORKING', mode: "master", - FADE_DISPATCH_RESOLUTION: 5, + FADE_DISPATCH_RESOLUTION: 50, leadingZeros: false, //some OSC protocols needs channels to be 01, 02 etc. pingCommand: [emptyMixerMessage()], pingResponseCommand: [emptyMixerMessage()], @@ -18,8 +18,8 @@ export const StuderVistaMaster: IMixerProtocol = { mixerMessage: 'System/Mixer/Channels/Inp Mono/Inp Mono #{channel}/Functions/Fader/Value', value: 0, type: 'real', - min: -90, - max: 10, + min: 0, + max: 1000, zero: 0 }], CHANNEL_VU: [emptyMixerMessage()], @@ -46,12 +46,12 @@ export const StuderVistaMaster: IMixerProtocol = { }, toMixer: { CHANNEL_OUT_GAIN: [{ - mixerMessage: 'System/Mixer/Channels/Inp Mono/Inp Mono #{channel}/Functions/Fader/Value', + mixerMessage: 'A-4294946012/C-4/C-2/C-1/C-6/P-1/A-3', // 'System/Mixer/Channels/Inp Mono/Inp Mono #{channel}/Functions/Fader/Value', value: 0, type: 'real', - min: -90, - max: 10, - zero: 0 + min: 0, + max: 1000, + zero: 750 }], CHANNEL_NAME: [{ @@ -85,9 +85,9 @@ export const StuderVistaMaster: IMixerProtocol = { mixerMessage: 'System/Mixer/Channels/Inp Stereo/Inp Stereo #{channel}/Functions/Fader/Value', value: 0, type: 'real', - min: -90, - max: 10, - zero: 0 + min: 0, + max: 1000, + zero: 750 }], CHANNEL_VU: [emptyMixerMessage()], CHANNEL_NAME: [{ @@ -116,9 +116,9 @@ export const StuderVistaMaster: IMixerProtocol = { mixerMessage: 'System/Mixer/Channels/Inp Stereo/Inp Stereo #{channel}/Functions/Fader/Value', value: 0, type: 'real', - min: -90, - max: 10, - zero: 0 + min: 0, + max: 1000, + zero: 750 }], CHANNEL_NAME: [{ @@ -152,9 +152,9 @@ export const StuderVistaMaster: IMixerProtocol = { mixerMessage: 'System/Mixer/Channels/Inp 5_1/Inp 5_1 #{channel}/Functions/Fader/Value', value: 0, type: 'real', - min: -90, - max: 10, - zero: 0 + min: 0, + max: 1000, + zero: 750 }], CHANNEL_VU: [emptyMixerMessage()], CHANNEL_NAME: [{ @@ -183,8 +183,8 @@ export const StuderVistaMaster: IMixerProtocol = { mixerMessage: 'System/Mixer/Channels/Inp 5_1/Inp 5_1 #{channel}/Functions/Fader/Value', value: 0, type: 'real', - min: -90, - max: 10, + min: 0, + max: 1000, zero: 0 }], @@ -213,8 +213,8 @@ export const StuderVistaMaster: IMixerProtocol = { }], fader: { min: 0, - max: 100, - zero: 70, + max: 1000, + zero: 750, step: 1, }, meter: { diff --git a/server/utils/MixerConnection.ts b/server/utils/MixerConnection.ts index bc8235c0..0d75d459 100644 --- a/server/utils/MixerConnection.ts +++ b/server/utils/MixerConnection.ts @@ -9,6 +9,7 @@ import { MidiMixerConnection } from './mixerConnections/MidiMixerConnection'; import { QlClMixerConnection } from './mixerConnections/YamahaQlClConnection'; import { SSLMixerConnection } from './mixerConnections/SSLMixerConnection'; import { EmberMixerConnection } from './mixerConnections/EmberMixerConnection'; +import { StuderMixerConnection } from './mixerConnections/StuderMixerConnection'; import { CasparCGConnection } from './mixerConnections/CasparCGConnection'; import { IChannel } from '../reducers/channelsReducer'; import { SET_OUTPUT_LEVEL, FADE_ACTIVE } from '../reducers/channelActions' @@ -46,6 +47,8 @@ export class MixerGenericConnection { this.mixerConnection = new CasparCGConnection(this.mixerProtocol as ICasparCGMixerGeometry); } else if (this.mixerProtocol.protocol === 'EMBER') { this.mixerConnection = new EmberMixerConnection(this.mixerProtocol as IMixerProtocol); + } else if (this.mixerProtocol.protocol === 'STUDER') { + this.mixerConnection = new StuderMixerConnection(this.mixerProtocol as IMixerProtocol); } else if (this.mixerProtocol.protocol === 'SSL') { this.mixerConnection = new SSLMixerConnection(this.mixerProtocol as IMixerProtocol); }