Skip to content

Commit

Permalink
feat: FADE_DISPATCH_RESOLUTION constant are moved to protocol to enab…
Browse files Browse the repository at this point in the history
…le fever commands on slow protocols
  • Loading branch information
olzzon authored and olzzon committed Feb 24, 2020
1 parent 68dceb8 commit 18fd425
Show file tree
Hide file tree
Showing 15 changed files with 30 additions and 29 deletions.
3 changes: 2 additions & 1 deletion server/constants/MixerProtocolInterface.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
export interface IMixerProtocolGeneric {
protocol: string,
label: string,
mode: string
mode: string,
FADE_DISPATCH_RESOLUTION: number,
fader: {
min: number
max: number
Expand Down
4 changes: 2 additions & 2 deletions server/constants/mixerProtocols/DmxIs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface';
export const DMXIS: IMixerProtocol = {
protocol: 'OSC',
label: 'DMXIS Light Controller Protocol',
mode: "master", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
//client (use feedback from mixers fader level)
mode: "master",
FADE_DISPATCH_RESOLUTION: 5,
leadingZeros: false, //some OSC protocols needs channels to be 01, 02 etc.
pingCommand: [emptyMixerMessage()],
pingResponseCommand: [emptyMixerMessage()],
Expand Down
4 changes: 2 additions & 2 deletions server/constants/mixerProtocols/LawoMC2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface';
export const LawoMC2: IMixerProtocol = {
protocol: 'EMBER',
label: 'Lawo MC2 - NOT IMPLEMENTED',
mode: "master", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
//client (use feedback from mixers fader level)
mode: "master",
FADE_DISPATCH_RESOLUTION: 5,
leadingZeros: false, //some OSC protocols needs channels to be 01, 02 etc.
pingCommand: [emptyMixerMessage()],
pingResponseCommand: [emptyMixerMessage()],
Expand Down
4 changes: 2 additions & 2 deletions server/constants/mixerProtocols/LawoRelayVrx4.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface';
export const LawoRelayVrx4: IMixerProtocol = {
protocol: 'EMBER',
label: 'Lawo Relay VRX4 - client',
mode: "master", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
//client (use feedback from mixers fader level)
mode: "master",
FADE_DISPATCH_RESOLUTION: 15,
leadingZeros: false, //some OSC protocols needs channels to be 01, 02 etc.
pingCommand: [emptyMixerMessage()],
pingResponseCommand: [emptyMixerMessage()],
Expand Down
4 changes: 2 additions & 2 deletions server/constants/mixerProtocols/LawoRuby.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface';
export const LawoRuby: IMixerProtocol = {
protocol: 'EMBER',
label: 'Lawo Ruby',
mode: "master", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
//client (use feedback from mixers fader level)
mode: "master",
FADE_DISPATCH_RESOLUTION: 15,
leadingZeros: false, //some OSC protocols needs channels to be 01, 02 etc.
pingCommand: [emptyMixerMessage()],
pingResponseCommand: [emptyMixerMessage()],
Expand Down
4 changes: 2 additions & 2 deletions server/constants/mixerProtocols/SSLsystemT.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface';
export const SSLSystemT: IMixerProtocol = {
protocol: 'SSL',
label: 'SSL System T',
mode: "master", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
//client (use feedback from mixers fader level)
mode: "master",
FADE_DISPATCH_RESOLUTION: 5,
leadingZeros: false,
pingCommand: [emptyMixerMessage()],
pingResponseCommand: [emptyMixerMessage()],
Expand Down
4 changes: 2 additions & 2 deletions server/constants/mixerProtocols/StuderVistaEmber.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface';
export const StuderVistaMaster: IMixerProtocol = {
protocol: 'EMBER',
label: 'Studer Vista - NOT WORKING',
mode: "master", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
//client (use feedback from mixers fader level)
mode: "master",
FADE_DISPATCH_RESOLUTION: 5,
leadingZeros: false, //some OSC protocols needs channels to be 01, 02 etc.
pingCommand: [emptyMixerMessage()],
pingResponseCommand: [emptyMixerMessage()],
Expand Down
4 changes: 2 additions & 2 deletions server/constants/mixerProtocols/ardourMaster.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface';
export const ArdourMaster: IMixerProtocol = {
protocol: 'OSC',
label: 'Ardour DAW - Master Mode',
mode: "master", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
//client (use feedback from mixers fader level)
mode: "master",
FADE_DISPATCH_RESOLUTION: 5,
leadingZeros: false,
pingCommand: [
{
Expand Down
4 changes: 2 additions & 2 deletions server/constants/mixerProtocols/behringerXrMaster.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface';
export const BehringerXrMaster: IMixerProtocol = {
protocol: 'OSC',
label: 'Behringer XR 12,14,16 Mastermode',
mode: "master", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
//client (use feedback from mixers fader level)
mode: "master",
FADE_DISPATCH_RESOLUTION: 5,
leadingZeros: true,
pingCommand: [
{
Expand Down
3 changes: 2 additions & 1 deletion server/constants/mixerProtocols/casparCGMaster.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,8 @@ if (geometry) {
CasparCGMasterObject = {
protocol: 'CasparCG',
label: `CasparCG Audio Mixer`,
mode: "master", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
mode: "master",
FADE_DISPATCH_RESOLUTION: 5,
studio: "studio0",
leadingZeros: false,
pingTime: 0,
Expand Down
4 changes: 2 additions & 2 deletions server/constants/mixerProtocols/genericMidi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface';
export const GenericMidi: IMixerProtocol = {
protocol: 'MIDI',
label: 'Generic Midi',
mode: "client", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
//client (use feedback from mixers fader level)
mode: "client",
FADE_DISPATCH_RESOLUTION: 5,
leadingZeros: false,
pingCommand: [emptyMixerMessage()],
pingResponseCommand: [emptyMixerMessage()],
Expand Down
4 changes: 2 additions & 2 deletions server/constants/mixerProtocols/midasMaster.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface';
export const MidasMaster: IMixerProtocol = {
protocol: 'OSC',
label: 'Midas M32 / Behringer X32 Master Mode',
mode: "master", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
//client (use feedback from mixers fader level)
mode: "master",
FADE_DISPATCH_RESOLUTION: 5,
leadingZeros: true,
pingCommand: [
{
Expand Down
4 changes: 2 additions & 2 deletions server/constants/mixerProtocols/reaperMaster.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface';
export const ReaperMaster: IMixerProtocol = {
protocol: 'OSC',
label: 'Reaper DAW Master mode(reaper.fm)',
mode: "master", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
//client (use feedback from mixers fader level)
mode: "master",
FADE_DISPATCH_RESOLUTION: 5,
leadingZeros: false, //some OSC protocols needs channels to be 01, 02 etc.
pingCommand: [emptyMixerMessage()],
pingResponseCommand: [emptyMixerMessage()],
Expand Down
4 changes: 2 additions & 2 deletions server/constants/mixerProtocols/yamahaQLCL.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { IMixerProtocol, emptyMixerMessage } from '../MixerProtocolInterface';
export const YamahaQLCL: IMixerProtocol = {
protocol: 'QLCL',
label: 'Yamaha QL/CL',
mode: "master", //master (ignores mixers faderlevel, and use faderlevel as gain preset),
//client (use feedback from mixers fader level)
mode: "master",
FADE_DISPATCH_RESOLUTION: 5,
leadingZeros: false,
pingCommand: [emptyMixerMessage()],
pingResponseCommand: [emptyMixerMessage()],
Expand Down
5 changes: 2 additions & 3 deletions server/utils/MixerConnection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import { SET_FADER_LEVEL } from '../reducers/faderActions'
// FADE_INOUT_SPEED defines the resolution of the fade in ms
// The lower the more CPU
const FADE_INOUT_SPEED = 3;
const FADE_DISPATCH_RESOLUTION = 5;

export class MixerGenericConnection {
store: any;
Expand Down Expand Up @@ -254,7 +253,7 @@ export class MixerGenericConnection {
targetVal = targetVal * (100-state.settings[0].voLevel)/100
}
const step: number = (targetVal-outputLevel)/(fadeTime/FADE_INOUT_SPEED);
const dispatchResolution: number = FADE_DISPATCH_RESOLUTION*step;
const dispatchResolution: number = this.mixerProtocol.FADE_DISPATCH_RESOLUTION*step;
let dispatchTrigger: number = 0;
this.clearTimer(channelIndex)

Expand Down Expand Up @@ -323,7 +322,7 @@ export class MixerGenericConnection {
fadeDown(channelIndex: number, fadeTime: number) {
let outputLevel = state.channels[0].channel[channelIndex].outputLevel;
const step = (outputLevel)/(fadeTime/FADE_INOUT_SPEED);
const dispatchResolution: number = FADE_DISPATCH_RESOLUTION*step;
const dispatchResolution: number = this.mixerProtocol.FADE_DISPATCH_RESOLUTION*step;
let dispatchTrigger: number = 0;

this.clearTimer(channelIndex)
Expand Down

0 comments on commit 18fd425

Please sign in to comment.