From f7a7fe2e0c4604070be653ddc49d755961559f18 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Thu, 26 Apr 2018 15:51:37 +0200 Subject: [PATCH 1/2] Denon MC6000MK2: Remove timer for back spins, use ramping --- res/controllers/Denon-MC6000MK2-scripts.js | 74 ++++++------------------------ 1 file changed, 14 insertions(+), 60 deletions(-) diff --git a/res/controllers/Denon-MC6000MK2-scripts.js b/res/controllers/Denon-MC6000MK2-scripts.js index 6d7865582b..d6e9cdfa7e 100644 --- a/res/controllers/Denon-MC6000MK2-scripts.js +++ b/res/controllers/Denon-MC6000MK2-scripts.js @@ -46,11 +46,10 @@ DenonMC6000MK2.JOG_SPIN_PLAY_EXPONENT = 0.7; // 1.0 = linear response DenonMC6000MK2.JOG_SCRATCH_RPM = 33.333333; // 33 1/3 DenonMC6000MK2.JOG_SCRATCH_ALPHA = 0.125; // 1/8 DenonMC6000MK2.JOG_SCRATCH_BETA = DenonMC6000MK2.JOG_SCRATCH_ALPHA / 32.0; -DenonMC6000MK2.JOG_SCRATCH_RAMP = true; +DenonMC6000MK2.JOG_SCRATCH_RAMP = true; // required for back spins DenonMC6000MK2.JOG_SCRATCH2_ABS_MIN = 0.01; DenonMC6000MK2.JOG_SCRATCH2_PLAY_MIN = -0.7; DenonMC6000MK2.JOG_SCRATCH2_PLAY_MAX = 1.0; -DenonMC6000MK2.JOG_SCRATCH_TIMEOUT = 20; // in milliseconds DenonMC6000MK2.EFX_MIX_ENCODER_STEPS = 20; @@ -480,7 +479,6 @@ DenonMC6000MK2.OldDeck = function(number, midiChannel) { this.filterGroup = "[QuickEffectRack1_" + this.group + "_Effect1]"; this.midiChannel = midiChannel; this.jogTouchState = false; - this.scratchTimer = 0; DenonMC6000MK2.decksByGroup[this.group] = this; this.rateDirBackup = this.getValue("rate_dir"); this.setValue("rate_dir", -1); @@ -688,64 +686,23 @@ DenonMC6000MK2.OldDeck.prototype.onVinylModeValue = function() { this.vinylModeLed.setStateBoolean(this.vinylMode); }; -DenonMC6000MK2.OldDeck.prototype.enableScratching = function() { - engine.scratchEnable(this.number, - DenonMC6000MK2.JOG_RESOLUTION, - DenonMC6000MK2.JOG_SCRATCH_RPM, - DenonMC6000MK2.JOG_SCRATCH_ALPHA, - DenonMC6000MK2.JOG_SCRATCH_BETA, - DenonMC6000MK2.JOG_SCRATCH_RAMP); +DenonMC6000MK2.OldDeck.prototype.enableScratching = function () { }; -DenonMC6000MK2.OldDeck.prototype.disableScratching = function() { - if (0 !== this.scratchTimer) { - engine.stopTimer(this.scratchTimer); - this.scratchTimer = 0; - } - var scratch2 = engine.getValue(this.group, "scratch2"); - if ((!this.isPlaying() && (DenonMC6000MK2.JOG_SCRATCH2_ABS_MIN < Math.abs(scratch2))) || - (scratch2 < DenonMC6000MK2.JOG_SCRATCH2_PLAY_MIN) || - (scratch2 > DenonMC6000MK2.JOG_SCRATCH2_PLAY_MAX)) { - var timeoutCallback = - "DenonMC6000MK2.onScratchingTimeoutDeck" + this.number + "()"; - this.scratchTimer = engine.beginTimer( - DenonMC6000MK2.JOG_SCRATCH_TIMEOUT, - timeoutCallback, - true); - } - if (0 === this.scratchTimer) { - // Ramping only when doing a back-spin while playing - var ramping = this.isPlaying() && (scratch2 < 0.0); - engine.scratchDisable(this.number, ramping && DenonMC6000MK2.JOG_SCRATCH_RAMP); - } -}; - -DenonMC6000MK2.OldDeck.prototype.onScratchingTimeout = function() { - this.scratchTimer = 0; - this.disableScratching(); -}; - -DenonMC6000MK2.onScratchingTimeoutDeck1 = function() { - DenonMC6000MK2.getDeckByGroup("[Channel1]").onScratchingTimeout(); +DenonMC6000MK2.OldDeck.prototype.disableScratching = function () { }; -DenonMC6000MK2.onScratchingTimeoutDeck2 = function() { - DenonMC6000MK2.getDeckByGroup("[Channel2]").onScratchingTimeout(); -}; - -DenonMC6000MK2.onScratchingTimeoutDeck3 = function() { - DenonMC6000MK2.getDeckByGroup("[Channel3]").onScratchingTimeout(); -}; - -DenonMC6000MK2.onScratchingTimeoutDeck4 = function() { - DenonMC6000MK2.getDeckByGroup("[Channel4]").onScratchingTimeout(); -}; - -DenonMC6000MK2.OldDeck.prototype.updateVinylMode = function() { +DenonMC6000MK2.OldDeck.prototype.updateVinylMode = function () { if (this.vinylMode && this.jogTouchState) { - this.enableScratching(); + engine.scratchEnable(this.number, + DenonMC6000MK2.JOG_RESOLUTION, + DenonMC6000MK2.JOG_SCRATCH_RPM, + DenonMC6000MK2.JOG_SCRATCH_ALPHA, + DenonMC6000MK2.JOG_SCRATCH_BETA, + DenonMC6000MK2.JOG_SCRATCH_RAMP); } else { - this.disableScratching(); + engine.scratchDisable(this.number, + DenonMC6000MK2.JOG_SCRATCH_RAMP); } this.onVinylModeValue(); }; @@ -778,8 +735,8 @@ DenonMC6000MK2.OldDeck.prototype.touchJog = function(isJogTouched) { this.updateVinylMode(); }; -DenonMC6000MK2.OldDeck.prototype.spinJog = function(jogDelta) { - if (this.getShiftState() && !this.isPlaying()) { +DenonMC6000MK2.OldDeck.prototype.spinJog = function (jogDelta) { + if (this.getShiftState() && this.jogTouchState && !this.isPlaying()) { // fast track seek (strip search) var playPos = engine.getValue(this.group, "playposition"); if (undefined !== playPos) { @@ -789,9 +746,6 @@ DenonMC6000MK2.OldDeck.prototype.spinJog = function(jogDelta) { } else { if (engine.isScratching(this.number)) { engine.scratchTick(this.number, jogDelta); - if (!this.jogTouchState) { - this.disableScratching(); - } } else { var normalizedDelta = jogDelta / DenonMC6000MK2.MIDI_JOG_DELTA_RANGE; var scaledDelta; From 02694dacbc6b1aafbf953a68668479d1c91a7562 Mon Sep 17 00:00:00 2001 From: Uwe Klotz Date: Thu, 26 Apr 2018 15:52:09 +0200 Subject: [PATCH 2/2] Denon MC6000MK2: Reformat JS code --- res/controllers/Denon-MC6000MK2-scripts.js | 388 ++++++++++++++--------------- 1 file changed, 194 insertions(+), 194 deletions(-) diff --git a/res/controllers/Denon-MC6000MK2-scripts.js b/res/controllers/Denon-MC6000MK2-scripts.js index d6e9cdfa7e..7f1189ce9c 100644 --- a/res/controllers/Denon-MC6000MK2-scripts.js +++ b/res/controllers/Denon-MC6000MK2-scripts.js @@ -109,21 +109,21 @@ DenonMC6000MK2.MIDI_CH3 = 0x03; // Logging functions // //////////////////////////////////////////////////////////////////////// -DenonMC6000MK2.logDebug = function(msg) { +DenonMC6000MK2.logDebug = function (msg) { if (DenonMC6000MK2.debug) { print("[" + DenonMC6000MK2.id + " DEBUG] " + msg); } }; -DenonMC6000MK2.logInfo = function(msg) { +DenonMC6000MK2.logInfo = function (msg) { print("[" + DenonMC6000MK2.id + " INFO] " + msg); }; -DenonMC6000MK2.logWarning = function(msg) { +DenonMC6000MK2.logWarning = function (msg) { print("[" + DenonMC6000MK2.id + " WARNING] " + msg); }; -DenonMC6000MK2.logError = function(msg) { +DenonMC6000MK2.logError = function (msg) { print("[" + DenonMC6000MK2.id + " ERROR] " + msg); }; @@ -135,7 +135,7 @@ DenonMC6000MK2.logError = function(msg) { DenonMC6000MK2.MIDI_BUTTON_ON = 0x40; DenonMC6000MK2.MIDI_BUTTON_OFF = 0x00; -DenonMC6000MK2.isButtonPressed = function(midiValue) { +DenonMC6000MK2.isButtonPressed = function (midiValue) { switch (midiValue) { case DenonMC6000MK2.MIDI_BUTTON_ON: return true; @@ -155,7 +155,7 @@ DenonMC6000MK2.isButtonPressed = function(midiValue) { DenonMC6000MK2.MIDI_KNOB_INC = 0x00; DenonMC6000MK2.MIDI_KNOB_DEC = 0x7F; -DenonMC6000MK2.getKnobDelta = function(midiValue) { +DenonMC6000MK2.getKnobDelta = function (midiValue) { switch (midiValue) { case DenonMC6000MK2.MIDI_KNOB_INC: return 1; @@ -175,25 +175,25 @@ DenonMC6000MK2.getKnobDelta = function(midiValue) { DenonMC6000MK2.MIDI_LED_ON = 0x50; DenonMC6000MK2.MIDI_LED_OFF = 0x51; -DenonMC6000MK2.LedState = function(midiCtrl) { +DenonMC6000MK2.LedState = function (midiCtrl) { this.midiCtrl = midiCtrl; }; DenonMC6000MK2.LED_ON = new DenonMC6000MK2.LedState(DenonMC6000MK2.MIDI_LED_ON); DenonMC6000MK2.LED_OFF = new DenonMC6000MK2.LedState(DenonMC6000MK2.MIDI_LED_OFF); -DenonMC6000MK2.Led = function(midiChannel, midiValue) { +DenonMC6000MK2.Led = function (midiChannel, midiValue) { this.midiChannel = midiChannel; this.midiValue = midiValue; this.state = undefined; }; -DenonMC6000MK2.Led.prototype.setState = function(ledState) { +DenonMC6000MK2.Led.prototype.setState = function (ledState) { this.state = ledState; this.trigger(); }; -DenonMC6000MK2.Led.prototype.setStateBoolean = function(booleanValue) { +DenonMC6000MK2.Led.prototype.setStateBoolean = function (booleanValue) { if (booleanValue) { this.setState(DenonMC6000MK2.LED_ON); } else { @@ -201,11 +201,11 @@ DenonMC6000MK2.Led.prototype.setStateBoolean = function(booleanValue) { } }; -DenonMC6000MK2.Led.prototype.trigger = function() { +DenonMC6000MK2.Led.prototype.trigger = function () { midi.sendShortMsg(0xB0 + this.midiChannel, this.state.midiCtrl, this.midiValue); }; -DenonMC6000MK2.Led.prototype.reset = function() { +DenonMC6000MK2.Led.prototype.reset = function () { this.setStateBoolean(false); }; @@ -213,7 +213,7 @@ DenonMC6000MK2.MIDI_TRI_LED_ON = 0x4A; DenonMC6000MK2.MIDI_TRI_LED_OFF = 0x4B; DenonMC6000MK2.MIDI_TRI_LED_BLINK = 0x4C; -DenonMC6000MK2.TriLedState = function(midiCtrl) { +DenonMC6000MK2.TriLedState = function (midiCtrl) { this.midiCtrl = midiCtrl; }; @@ -221,18 +221,18 @@ DenonMC6000MK2.TRI_LED_ON = new DenonMC6000MK2.TriLedState(DenonMC6000MK2.MIDI_T DenonMC6000MK2.TRI_LED_OFF = new DenonMC6000MK2.TriLedState(DenonMC6000MK2.MIDI_TRI_LED_OFF); DenonMC6000MK2.TRI_LED_BLINK = new DenonMC6000MK2.TriLedState(DenonMC6000MK2.MIDI_TRI_LED_BLINK); -DenonMC6000MK2.TriLed = function(midiChannel, midiValue) { +DenonMC6000MK2.TriLed = function (midiChannel, midiValue) { this.midiChannel = midiChannel; this.midiValue = midiValue; this.state = undefined; }; -DenonMC6000MK2.TriLed.prototype.setTriState = function(ledState) { +DenonMC6000MK2.TriLed.prototype.setTriState = function (ledState) { this.state = ledState; this.trigger(); }; -DenonMC6000MK2.TriLed.prototype.setStateBoolean = function(booleanValue) { +DenonMC6000MK2.TriLed.prototype.setStateBoolean = function (booleanValue) { if (booleanValue) { this.setTriState(DenonMC6000MK2.TRI_LED_ON); } else { @@ -240,31 +240,31 @@ DenonMC6000MK2.TriLed.prototype.setStateBoolean = function(booleanValue) { } }; -DenonMC6000MK2.TriLed.prototype.trigger = function() { +DenonMC6000MK2.TriLed.prototype.trigger = function () { midi.sendShortMsg(0xB0 + this.midiChannel, this.state.midiCtrl, this.midiValue); }; -DenonMC6000MK2.TriLed.prototype.reset = function() { +DenonMC6000MK2.TriLed.prototype.reset = function () { this.setStateBoolean(false); }; DenonMC6000MK2.connectedLeds = []; -DenonMC6000MK2.connectLed = function(midiChannel, midiValue) { +DenonMC6000MK2.connectLed = function (midiChannel, midiValue) { var led = new DenonMC6000MK2.Led(midiChannel, midiValue); led.reset(); DenonMC6000MK2.connectedLeds.push(led); return led; }; -DenonMC6000MK2.connectTriLed = function(midiChannel, midiValue) { +DenonMC6000MK2.connectTriLed = function (midiChannel, midiValue) { var led = new DenonMC6000MK2.TriLed(midiChannel, midiValue); led.reset(); DenonMC6000MK2.connectedLeds.push(led); return led; }; -DenonMC6000MK2.disconnectLeds = function() { +DenonMC6000MK2.disconnectLeds = function () { for (var index in DenonMC6000MK2.connectedLeds) { DenonMC6000MK2.connectedLeds[index].reset(); } @@ -276,14 +276,14 @@ DenonMC6000MK2.disconnectLeds = function() { // Controls // //////////////////////////////////////////////////////////////////////// -DenonMC6000MK2.Control = function(group, ctrl, func) { +DenonMC6000MK2.Control = function (group, ctrl, func) { this.group = group; this.ctrl = ctrl; this.func = func; this.isConnected = false; }; -DenonMC6000MK2.Control.prototype.connect = function() { +DenonMC6000MK2.Control.prototype.connect = function () { if (this.isConnected) { DenonMC6000MK2.logWarning("Control is already connected: group=" + this.group + ", ctrl=" + this.ctrl + ", func=" + this.func); return true; @@ -297,7 +297,7 @@ DenonMC6000MK2.Control.prototype.connect = function() { return this.isConnected; }; -DenonMC6000MK2.Control.prototype.disconnect = function() { +DenonMC6000MK2.Control.prototype.disconnect = function () { if (this.isConnected) { if (engine.connectControl(this.group, this.ctrl, this.func, true)) { this.isConnected = false; @@ -309,13 +309,13 @@ DenonMC6000MK2.Control.prototype.disconnect = function() { } }; -DenonMC6000MK2.Control.prototype.trigger = function() { +DenonMC6000MK2.Control.prototype.trigger = function () { engine.trigger(this.group, this.ctrl); }; DenonMC6000MK2.connectedControls = []; -DenonMC6000MK2.connectControl = function(group, ctrl, func) { +DenonMC6000MK2.connectControl = function (group, ctrl, func) { var control = new DenonMC6000MK2.Control(group, ctrl, func); if (control.connect()) { DenonMC6000MK2.connectedControls.push(control); @@ -325,7 +325,7 @@ DenonMC6000MK2.connectControl = function(group, ctrl, func) { } }; -DenonMC6000MK2.disconnectControls = function() { +DenonMC6000MK2.disconnectControls = function () { for (var index in DenonMC6000MK2.connectedControls) { DenonMC6000MK2.connectedControls[index].disconnect(); } @@ -337,7 +337,7 @@ DenonMC6000MK2.disconnectControls = function() { // Hotcues // //////////////////////////////////////////////////////////////////////// -DenonMC6000MK2.Hotcue = function(deck, number, midiLedValue, midiDimmerLedValue) { +DenonMC6000MK2.Hotcue = function (deck, number, midiLedValue, midiDimmerLedValue) { this.deck = deck; this.number = number; this.ctrlPrefix = "hotcue_" + number; @@ -345,11 +345,11 @@ DenonMC6000MK2.Hotcue = function(deck, number, midiLedValue, midiDimmerLedValue) this.midiDimmerLedValue = midiDimmerLedValue; }; -DenonMC6000MK2.Hotcue.prototype.connectControls = function(callbackFunc) { +DenonMC6000MK2.Hotcue.prototype.connectControls = function (callbackFunc) { this.deck.connectControl(this.ctrlPrefix + "_enabled", callbackFunc); }; -DenonMC6000MK2.Hotcue.prototype.isEnabled = function() { +DenonMC6000MK2.Hotcue.prototype.isEnabled = function () { return this.deck.getValue(this.ctrlPrefix + "_enabled"); }; @@ -362,7 +362,7 @@ DenonMC6000MK2.samplerCount = 0; DenonMC6000MK2.samplersByGroup = {}; -DenonMC6000MK2.getSamplerByGroup = function(group) { +DenonMC6000MK2.getSamplerByGroup = function (group) { var sampler = DenonMC6000MK2.samplersByGroup[group]; if (undefined === sampler) { DenonMC6000MK2.logError("No sampler found for " + group); @@ -370,7 +370,7 @@ DenonMC6000MK2.getSamplerByGroup = function(group) { return sampler; }; -DenonMC6000MK2.Sampler = function(side, midiChannel, midiLedValue, midiDimmerLedValue) { +DenonMC6000MK2.Sampler = function (side, midiChannel, midiLedValue, midiDimmerLedValue) { this.side = side; this.number = ++DenonMC6000MK2.samplerCount; this.group = "[Sampler" + this.number + "]"; @@ -380,23 +380,23 @@ DenonMC6000MK2.Sampler = function(side, midiChannel, midiLedValue, midiDimmerLed DenonMC6000MK2.samplersByGroup[this.group] = this; }; -DenonMC6000MK2.Sampler.prototype.isTrackLoaded = function() { +DenonMC6000MK2.Sampler.prototype.isTrackLoaded = function () { return DenonMC6000MK2.isTrackLoaded(engine.getValue(this.group, "track_samples")); }; -DenonMC6000MK2.Sampler.prototype.loadSelectedTrack = function() { +DenonMC6000MK2.Sampler.prototype.loadSelectedTrack = function () { engine.setValue(this.group, "LoadSelectedTrack", true); }; -DenonMC6000MK2.Sampler.prototype.loadSelectedTrackAndPlay = function() { +DenonMC6000MK2.Sampler.prototype.loadSelectedTrackAndPlay = function () { engine.setValue(this.group, "LoadSelectedTrackAndPlay", true); }; -DenonMC6000MK2.Sampler.prototype.isPlaying = function() { +DenonMC6000MK2.Sampler.prototype.isPlaying = function () { return engine.getValue(this.group, "play"); }; -DenonMC6000MK2.Sampler.prototype.onButton = function(isButtonPressed) { +DenonMC6000MK2.Sampler.prototype.onButton = function (isButtonPressed) { switch (DenonMC6000MK2.DEFAULT_SAMPLER_MODE) { case DenonMC6000MK2.SAMPLER_MODE.TRIGGER: if (isButtonPressed) { @@ -435,12 +435,12 @@ DenonMC6000MK2.Sampler.prototype.onButton = function(isButtonPressed) { } }; -DenonMC6000MK2.Sampler.prototype.connectLeds = function() { +DenonMC6000MK2.Sampler.prototype.connectLeds = function () { this.led = DenonMC6000MK2.connectTriLed(this.midiChannel, this.midiLedValue); this.dimmerLed = DenonMC6000MK2.connectTriLed(this.midiChannel, this.midiDimmerLedValue); }; -DenonMC6000MK2.Sampler.prototype.updateLeds = function() { +DenonMC6000MK2.Sampler.prototype.updateLeds = function () { if (this.isPlaying()) { this.led.setStateBoolean(true); } else { @@ -448,7 +448,7 @@ DenonMC6000MK2.Sampler.prototype.updateLeds = function() { } }; -DenonMC6000MK2.Sampler.prototype.connectControls = function() { +DenonMC6000MK2.Sampler.prototype.connectControls = function () { DenonMC6000MK2.connectControl(this.group, "play", DenonMC6000MK2.ctrlSampler); DenonMC6000MK2.connectControl(this.group, "track_samples", DenonMC6000MK2.ctrlSampler); }; @@ -462,7 +462,7 @@ DenonMC6000MK2.Sampler.prototype.connectControls = function() { DenonMC6000MK2.decksByGroup = {}; -DenonMC6000MK2.getDeckByGroup = function(group) { +DenonMC6000MK2.getDeckByGroup = function (group) { var deck = DenonMC6000MK2.decksByGroup[group]; if (undefined === deck) { DenonMC6000MK2.logError("No deck found for " + group); @@ -472,7 +472,7 @@ DenonMC6000MK2.getDeckByGroup = function(group) { /* Constructor */ -DenonMC6000MK2.OldDeck = function(number, midiChannel) { +DenonMC6000MK2.OldDeck = function (number, midiChannel) { this.side = undefined; this.number = number; this.group = "[Channel" + number + "]"; @@ -493,105 +493,105 @@ DenonMC6000MK2.OldDeck = function(number, midiChannel) { /* Shift */ -DenonMC6000MK2.OldDeck.prototype.getShiftState = function(group) { +DenonMC6000MK2.OldDeck.prototype.getShiftState = function (group) { return this.side.getShiftState(); }; /* Values & Parameters */ -DenonMC6000MK2.OldDeck.prototype.getValue = function(key) { +DenonMC6000MK2.OldDeck.prototype.getValue = function (key) { return engine.getValue(this.group, key); }; -DenonMC6000MK2.OldDeck.prototype.setValue = function(key, value) { +DenonMC6000MK2.OldDeck.prototype.setValue = function (key, value) { engine.setValue(this.group, key, value); }; -DenonMC6000MK2.OldDeck.prototype.toggleValue = function(key) { +DenonMC6000MK2.OldDeck.prototype.toggleValue = function (key) { this.setValue(key, !this.getValue(key)); }; -DenonMC6000MK2.OldDeck.prototype.setParameter = function(key, param) { +DenonMC6000MK2.OldDeck.prototype.setParameter = function (key, param) { engine.setParameter(this.group, key, param); }; -DenonMC6000MK2.OldDeck.prototype.triggerValue = function(key) { +DenonMC6000MK2.OldDeck.prototype.triggerValue = function (key) { engine.trigger(this.group, key); }; /* Xfader */ -DenonMC6000MK2.OldDeck.prototype.assignXfaderLeft = function() { +DenonMC6000MK2.OldDeck.prototype.assignXfaderLeft = function () { this.setValue("orientation", DenonMC6000MK2.MIXXX_XFADER_LEFT); }; -DenonMC6000MK2.OldDeck.prototype.assignXfaderCenter = function() { +DenonMC6000MK2.OldDeck.prototype.assignXfaderCenter = function () { this.setValue("orientation", DenonMC6000MK2.MIXXX_XFADER_CENTER); }; -DenonMC6000MK2.OldDeck.prototype.assignXfaderRight = function() { +DenonMC6000MK2.OldDeck.prototype.assignXfaderRight = function () { this.setValue("orientation", DenonMC6000MK2.MIXXX_XFADER_RIGHT); }; /* Tracks */ -DenonMC6000MK2.OldDeck.prototype.loadSelectedTrack = function() { +DenonMC6000MK2.OldDeck.prototype.loadSelectedTrack = function () { this.setValue("LoadSelectedTrack", true); if (!this.isPlaying()) { this.setCueMixSolo(); // just for convenience ;) } }; -DenonMC6000MK2.OldDeck.prototype.loadSelectedTrackAndPlay = function() { +DenonMC6000MK2.OldDeck.prototype.loadSelectedTrackAndPlay = function () { this.setValue("LoadSelectedTrackAndPlay", true); }; -DenonMC6000MK2.OldDeck.prototype.unloadTrack = function() { +DenonMC6000MK2.OldDeck.prototype.unloadTrack = function () { this.setValue("eject", true); }; /* Key Lock Mode */ -DenonMC6000MK2.OldDeck.prototype.onKeyLockButton = function(isButtonPressed) { +DenonMC6000MK2.OldDeck.prototype.onKeyLockButton = function (isButtonPressed) { if (isButtonPressed) { this.toggleValue("keylock"); } }; -DenonMC6000MK2.OldDeck.prototype.enableKeyLock = function() { +DenonMC6000MK2.OldDeck.prototype.enableKeyLock = function () { this.setValue("keylock", true); }; -DenonMC6000MK2.OldDeck.prototype.disableKeyLock = function() { +DenonMC6000MK2.OldDeck.prototype.disableKeyLock = function () { this.setValue("keylock", false); }; -DenonMC6000MK2.OldDeck.prototype.onKeyLockValue = function(value) { +DenonMC6000MK2.OldDeck.prototype.onKeyLockValue = function (value) { this.keyLockLed.setStateBoolean(value); }; /* Key Control */ -DenonMC6000MK2.OldDeck.prototype.resetKey = function() { +DenonMC6000MK2.OldDeck.prototype.resetKey = function () { this.setValue("reset_key", true); }; /* Sync Mode */ -DenonMC6000MK2.OldDeck.prototype.disableSyncMode = function() { +DenonMC6000MK2.OldDeck.prototype.disableSyncMode = function () { this.setValue("sync_mode", DenonMC6000MK2.MIXXX_SYNC_NONE); }; /* Cue Mix */ -DenonMC6000MK2.OldDeck.prototype.setCueMixSolo = function() { +DenonMC6000MK2.OldDeck.prototype.setCueMixSolo = function () { for (var deckGroup in DenonMC6000MK2.decksByGroup) { var deck = DenonMC6000MK2.getDeckByGroup(deckGroup); deck.setValue("pfl", this === deck); } }; -DenonMC6000MK2.OldDeck.prototype.onCueMixButton = function(isButtonPressed) { +DenonMC6000MK2.OldDeck.prototype.onCueMixButton = function (isButtonPressed) { if (isButtonPressed) { if (this.getShiftState()) { this.setCueMixSolo(); @@ -601,7 +601,7 @@ DenonMC6000MK2.OldDeck.prototype.onCueMixButton = function(isButtonPressed) { } }; -DenonMC6000MK2.OldDeck.prototype.updateCueMixValue = function(pflValue, isTrackLoaded) { +DenonMC6000MK2.OldDeck.prototype.updateCueMixValue = function (pflValue, isTrackLoaded) { if (pflValue) { this.cueMixLed.setStateBoolean(pflValue); } else { @@ -609,33 +609,33 @@ DenonMC6000MK2.OldDeck.prototype.updateCueMixValue = function(pflValue, isTrackL } }; -DenonMC6000MK2.OldDeck.prototype.onCueMixValue = function(pflValue) { +DenonMC6000MK2.OldDeck.prototype.onCueMixValue = function (pflValue) { this.updateCueMixValue(pflValue, this.isTrackLoaded()); }; /* Track Load */ -DenonMC6000MK2.isTrackLoaded = function(trackSamples) { +DenonMC6000MK2.isTrackLoaded = function (trackSamples) { return 0 < trackSamples; }; -DenonMC6000MK2.OldDeck.prototype.isTrackLoaded = function() { +DenonMC6000MK2.OldDeck.prototype.isTrackLoaded = function () { return DenonMC6000MK2.isTrackLoaded(this.getValue("track_samples")); }; -DenonMC6000MK2.OldDeck.prototype.onTrackSamplesValue = function(value) { +DenonMC6000MK2.OldDeck.prototype.onTrackSamplesValue = function (value) { this.updateCueMixValue(this.getValue("pfl"), DenonMC6000MK2.isTrackLoaded(value)); }; /* Cue & Play */ -DenonMC6000MK2.OldDeck.prototype.isPlaying = function() { +DenonMC6000MK2.OldDeck.prototype.isPlaying = function () { return this.getValue("play"); }; /* Pitch Bend / Track Search */ -DenonMC6000MK2.OldDeck.prototype.onBendPlusButton = function(isButtonPressed) { +DenonMC6000MK2.OldDeck.prototype.onBendPlusButton = function (isButtonPressed) { if (this.isPlaying()) { this.setValue("fwd", false); if (this.getShiftState()) { @@ -648,7 +648,7 @@ DenonMC6000MK2.OldDeck.prototype.onBendPlusButton = function(isButtonPressed) { } }; -DenonMC6000MK2.OldDeck.prototype.onBendMinusButton = function(isButtonPressed) { +DenonMC6000MK2.OldDeck.prototype.onBendMinusButton = function (isButtonPressed) { if (this.isPlaying()) { this.setValue("back", false); if (this.getShiftState()) { @@ -664,7 +664,7 @@ DenonMC6000MK2.OldDeck.prototype.onBendMinusButton = function(isButtonPressed) { /* Censor / Slip Mode */ -DenonMC6000MK2.OldDeck.prototype.onCensorButton = function(buttonPressed) { +DenonMC6000MK2.OldDeck.prototype.onCensorButton = function (buttonPressed) { if (this.getShiftState()) { // Please note that reverseroll seems to have side effects on // slip_enabled so better leave it alone while shift is pressed! @@ -676,13 +676,13 @@ DenonMC6000MK2.OldDeck.prototype.onCensorButton = function(buttonPressed) { } }; -DenonMC6000MK2.OldDeck.prototype.onSlipModeValue = function(value) { +DenonMC6000MK2.OldDeck.prototype.onSlipModeValue = function (value) { this.slipModeLed.setStateBoolean(value); }; /* Vinyl Mode (Scratching) */ -DenonMC6000MK2.OldDeck.prototype.onVinylModeValue = function() { +DenonMC6000MK2.OldDeck.prototype.onVinylModeValue = function () { this.vinylModeLed.setStateBoolean(this.vinylMode); }; @@ -707,30 +707,30 @@ DenonMC6000MK2.OldDeck.prototype.updateVinylMode = function () { this.onVinylModeValue(); }; -DenonMC6000MK2.OldDeck.prototype.setVinylMode = function(vinylMode) { +DenonMC6000MK2.OldDeck.prototype.setVinylMode = function (vinylMode) { this.vinylMode = vinylMode; this.updateVinylMode(); }; -DenonMC6000MK2.OldDeck.prototype.toggleVinylMode = function() { +DenonMC6000MK2.OldDeck.prototype.toggleVinylMode = function () { this.setVinylMode(!this.vinylMode); }; -DenonMC6000MK2.OldDeck.prototype.enableVinylMode = function() { +DenonMC6000MK2.OldDeck.prototype.enableVinylMode = function () { this.setVinylMode(true); }; -DenonMC6000MK2.OldDeck.prototype.disableVinylMode = function() { +DenonMC6000MK2.OldDeck.prototype.disableVinylMode = function () { this.setVinylMode(false); }; -DenonMC6000MK2.OldDeck.prototype.onVinylButton = function(isButtonPressed) { +DenonMC6000MK2.OldDeck.prototype.onVinylButton = function (isButtonPressed) { this.toggleVinylMode(); }; /* Jog Wheel */ -DenonMC6000MK2.OldDeck.prototype.touchJog = function(isJogTouched) { +DenonMC6000MK2.OldDeck.prototype.touchJog = function (isJogTouched) { this.jogTouchState = isJogTouched; this.updateVinylMode(); }; @@ -777,40 +777,40 @@ DenonMC6000MK2.OldDeck.prototype.spinJog = function (jogDelta) { /* Filter */ -DenonMC6000MK2.OldDeck.prototype.applyFilter = function() { +DenonMC6000MK2.OldDeck.prototype.applyFilter = function () { engine.setValue(this.filterGroup, "enabled", this.side.filterEnabled); engine.setParameter(this.filterGroup, "meta", this.side.filterParam); }; /* Loops */ -DenonMC6000MK2.OldDeck.prototype.hasLoopStart = function() { +DenonMC6000MK2.OldDeck.prototype.hasLoopStart = function () { return DenonMC6000MK2.MIXXX_LOOP_POSITION_UNDEFINED !== this.getValue("loop_start_position"); }; -DenonMC6000MK2.OldDeck.prototype.hasLoopEnd = function() { +DenonMC6000MK2.OldDeck.prototype.hasLoopEnd = function () { return DenonMC6000MK2.MIXXX_LOOP_POSITION_UNDEFINED !== this.getValue("loop_end_position"); }; -DenonMC6000MK2.OldDeck.prototype.hasLoop = function() { +DenonMC6000MK2.OldDeck.prototype.hasLoop = function () { return this.hasLoopStart() && this.hasLoopEnd(); }; -DenonMC6000MK2.OldDeck.prototype.deleteLoopStart = function() { +DenonMC6000MK2.OldDeck.prototype.deleteLoopStart = function () { this.setValue("loop_start_position", DenonMC6000MK2.MIXXX_LOOP_POSITION_UNDEFINED); }; -DenonMC6000MK2.OldDeck.prototype.deleteLoopEnd = function() { +DenonMC6000MK2.OldDeck.prototype.deleteLoopEnd = function () { this.setValue("loop_end_position", DenonMC6000MK2.MIXXX_LOOP_POSITION_UNDEFINED); }; -DenonMC6000MK2.OldDeck.prototype.deleteLoop = function() { +DenonMC6000MK2.OldDeck.prototype.deleteLoop = function () { // loop end has to be deleted before loop start this.deleteLoopEnd(); this.deleteLoopStart(); }; -DenonMC6000MK2.OldDeck.prototype.onAutoLoopButton = function(isButtonPressed) { +DenonMC6000MK2.OldDeck.prototype.onAutoLoopButton = function (isButtonPressed) { if (this.hasLoop() || this.getValue('loop_enabled')) { if (this.getShiftState()) { // Delete loop @@ -836,7 +836,7 @@ DenonMC6000MK2.OldDeck.prototype.onAutoLoopButton = function(isButtonPressed) { } }; -DenonMC6000MK2.OldDeck.prototype.onLoopInButton = function(isButtonPressed) { +DenonMC6000MK2.OldDeck.prototype.onLoopInButton = function (isButtonPressed) { if (this.getShiftState()) { this.setValue("loop_in", false); if (isButtonPressed) { @@ -847,7 +847,7 @@ DenonMC6000MK2.OldDeck.prototype.onLoopInButton = function(isButtonPressed) { } }; -DenonMC6000MK2.OldDeck.prototype.onLoopOutButton = function(isButtonPressed) { +DenonMC6000MK2.OldDeck.prototype.onLoopOutButton = function (isButtonPressed) { if (this.getShiftState()) { this.setValue("loop_out", false); if (isButtonPressed) { @@ -858,7 +858,7 @@ DenonMC6000MK2.OldDeck.prototype.onLoopOutButton = function(isButtonPressed) { } }; -DenonMC6000MK2.OldDeck.prototype.onLoopCutMinusButton = function(isButtonPressed) { +DenonMC6000MK2.OldDeck.prototype.onLoopCutMinusButton = function (isButtonPressed) { if (isButtonPressed) { if (this.getShiftState()) { var step_size = this.getValue('beatloop_size'); @@ -872,7 +872,7 @@ DenonMC6000MK2.OldDeck.prototype.onLoopCutMinusButton = function(isButtonPressed } }; -DenonMC6000MK2.OldDeck.prototype.onLoopCutPlusButton = function(isButtonPressed) { +DenonMC6000MK2.OldDeck.prototype.onLoopCutPlusButton = function (isButtonPressed) { if (isButtonPressed) { if (this.getShiftState()) { var step_size = this.getValue('beatloop_size'); @@ -886,7 +886,7 @@ DenonMC6000MK2.OldDeck.prototype.onLoopCutPlusButton = function(isButtonPressed) } }; -DenonMC6000MK2.OldDeck.prototype.updateLoopLeds = function(value) { +DenonMC6000MK2.OldDeck.prototype.updateLoopLeds = function (value) { this.loopInLed.setStateBoolean(this.hasLoopStart()); this.loopOutLed.setStateBoolean(this.hasLoopEnd()); if (this.getValue("loop_enabled")) { @@ -898,17 +898,17 @@ DenonMC6000MK2.OldDeck.prototype.updateLoopLeds = function(value) { /* Deck LEDs */ -DenonMC6000MK2.OldDeck.prototype.connectLed = function(midiValue) { +DenonMC6000MK2.OldDeck.prototype.connectLed = function (midiValue) { return DenonMC6000MK2.connectLed(this.midiChannel, midiValue); }; -DenonMC6000MK2.OldDeck.prototype.connectTriLed = function(midiValue) { +DenonMC6000MK2.OldDeck.prototype.connectTriLed = function (midiValue) { return DenonMC6000MK2.connectTriLed(this.midiChannel, midiValue); }; /* Startup */ -DenonMC6000MK2.OldDeck.prototype.connectLeds = function() { +DenonMC6000MK2.OldDeck.prototype.connectLeds = function () { this.vinylModeLed = this.connectTriLed(0x06); this.keyLockLed = this.connectTriLed(0x08); this.loopInLed = this.connectTriLed(0x24); @@ -920,11 +920,11 @@ DenonMC6000MK2.OldDeck.prototype.connectLeds = function() { this.slipModeLed = this.connectTriLed(0x64); }; -DenonMC6000MK2.OldDeck.prototype.connectControl = function(ctrl, func) { +DenonMC6000MK2.OldDeck.prototype.connectControl = function (ctrl, func) { return DenonMC6000MK2.connectControl(this.group, ctrl, func); }; -DenonMC6000MK2.OldDeck.prototype.connectControls = function() { +DenonMC6000MK2.OldDeck.prototype.connectControls = function () { this.connectControl("keylock", DenonMC6000MK2.ctrlKeyLock); this.connectControl("pfl", DenonMC6000MK2.ctrlCueMix); this.connectControl("track_samples", DenonMC6000MK2.ctrlTrackSamples); @@ -946,7 +946,7 @@ DenonMC6000MK2.OldDeck.prototype.connectControls = function() { /* Shutdown */ -DenonMC6000MK2.OldDeck.prototype.restoreValues = function() { +DenonMC6000MK2.OldDeck.prototype.restoreValues = function () { this.setValue("rate_dir", this.rateDirBackup); }; @@ -957,14 +957,14 @@ DenonMC6000MK2.OldDeck.prototype.restoreValues = function() { DenonMC6000MK2.efxParamsByGroup = {}; -DenonMC6000MK2.ctrlEfxParamEnabled = function(value, group, control) { +DenonMC6000MK2.ctrlEfxParamEnabled = function (value, group, control) { var param = DenonMC6000MK2.efxParamsByGroup[group]; if (param !== undefined) { param.onLed.setStateBoolean(value !== 0.0); } }; -DenonMC6000MK2.EfxParam = function(group) { +DenonMC6000MK2.EfxParam = function (group) { DenonMC6000MK2.efxParamsByGroup[group] = this; DenonMC6000MK2.connectControl(group, "enabled", DenonMC6000MK2.ctrlEfxParamEnabled); }; @@ -974,7 +974,7 @@ DenonMC6000MK2.EfxParam = function(group) { // Efx Units // //////////////////////////////////////////////////////////////////////// -DenonMC6000MK2.EfxUnit = function(side, unit) { +DenonMC6000MK2.EfxUnit = function (side, unit) { this.side = side; this.unit = DenonMC6000MK2.EFX_RACK + "_" + unit; this.group = "[" + this.unit + "]"; @@ -984,37 +984,37 @@ DenonMC6000MK2.EfxUnit = function(side, unit) { this.params[3] = new DenonMC6000MK2.EfxParam("[" + this.unit + "_Effect3]"); }; -DenonMC6000MK2.EfxUnit.prototype.getShiftState = function() { +DenonMC6000MK2.EfxUnit.prototype.getShiftState = function () { return this.side.getShiftState(); }; -DenonMC6000MK2.EfxUnit.prototype.isEnabled = function() { +DenonMC6000MK2.EfxUnit.prototype.isEnabled = function () { return engine.getValue(this.group, "enabled"); }; -DenonMC6000MK2.EfxUnit.prototype.onEnableButton = function(isButtonPressed) { +DenonMC6000MK2.EfxUnit.prototype.onEnableButton = function (isButtonPressed) { if (isButtonPressed) { script.toggleControl(this.group, "enabled"); } }; -DenonMC6000MK2.EfxUnit.prototype.getDeckAssignKey = function(deck) { +DenonMC6000MK2.EfxUnit.prototype.getDeckAssignKey = function (deck) { return "group_" + deck.group + "_enable"; }; -DenonMC6000MK2.EfxUnit.prototype.connectDeckControls = function(deck, assignCB) { +DenonMC6000MK2.EfxUnit.prototype.connectDeckControls = function (deck, assignCB) { DenonMC6000MK2.connectControl(this.group, this.getDeckAssignKey(deck), assignCB); }; -DenonMC6000MK2.EfxUnit.prototype.isDeckAssigned = function(deck) { +DenonMC6000MK2.EfxUnit.prototype.isDeckAssigned = function (deck) { return engine.getValue(this.group, this.getDeckAssignKey(deck)); }; -DenonMC6000MK2.EfxUnit.prototype.isActiveDeckAssigned = function() { +DenonMC6000MK2.EfxUnit.prototype.isActiveDeckAssigned = function () { return engine.getValue(this.group, this.getDeckAssignKey(this.side.activeDeck)); }; -DenonMC6000MK2.EfxUnit.prototype.isAnyDeckAssigned = function() { +DenonMC6000MK2.EfxUnit.prototype.isAnyDeckAssigned = function () { for (var deckGroup in DenonMC6000MK2.decksByGroup) { var deck = DenonMC6000MK2.getDeckByGroup(deckGroup); if (this.isDeckAssigned(deck)) { @@ -1024,22 +1024,22 @@ DenonMC6000MK2.EfxUnit.prototype.isAnyDeckAssigned = function() { return false; }; -DenonMC6000MK2.EfxUnit.prototype.assignDeckToggle = function(deck) { +DenonMC6000MK2.EfxUnit.prototype.assignDeckToggle = function (deck) { script.toggleControl(this.group, this.getDeckAssignKey(deck)); }; -DenonMC6000MK2.EfxUnit.prototype.assignDeckExlusively = function(deck) { +DenonMC6000MK2.EfxUnit.prototype.assignDeckExlusively = function (deck) { for (var deckGroup in DenonMC6000MK2.decksByGroup) { var varDeck = DenonMC6000MK2.getDeckByGroup(deckGroup); engine.setValue(this.group, this.getDeckAssignKey(varDeck), varDeck === deck); } }; -DenonMC6000MK2.EfxUnit.prototype.onEnabled = function() { +DenonMC6000MK2.EfxUnit.prototype.onEnabled = function () { this.tapLed.setTriState(this.isEnabled() ? DenonMC6000MK2.TRI_LED_ON : DenonMC6000MK2.TRI_LED_OFF); }; -DenonMC6000MK2.EfxUnit.prototype.onDeckButton = function(deckGroup, isButtonPressed) { +DenonMC6000MK2.EfxUnit.prototype.onDeckButton = function (deckGroup, isButtonPressed) { if (isButtonPressed) { var deck = DenonMC6000MK2.getDeckByGroup(deckGroup); if (this.getShiftState()) { @@ -1058,7 +1058,7 @@ DenonMC6000MK2.EfxUnit.prototype.onDeckButton = function(deckGroup, isButtonPres DenonMC6000MK2.sidesByGroup = {}; -DenonMC6000MK2.getSideByGroup = function(group) { +DenonMC6000MK2.getSideByGroup = function (group) { var side = DenonMC6000MK2.sidesByGroup[group]; if (undefined === side) { DenonMC6000MK2.logError("No side found for " + group); @@ -1068,7 +1068,7 @@ DenonMC6000MK2.getSideByGroup = function(group) { /* Constructor */ -DenonMC6000MK2.Side = function(decks, efxUnit, samplerMidiChannel) { +DenonMC6000MK2.Side = function (decks, efxUnit, samplerMidiChannel) { this.decksByGroup = {}; for (var deckIndex in decks) { var deck = decks[deckIndex]; @@ -1089,7 +1089,7 @@ DenonMC6000MK2.Side = function(decks, efxUnit, samplerMidiChannel) { /* Shift */ -DenonMC6000MK2.Side.prototype.getShiftState = function(group) { +DenonMC6000MK2.Side.prototype.getShiftState = function (group) { if (DenonMC6000MK2.GLOBAL_SHIFT_STATE) { return DenonMC6000MK2.getShiftState(); } else { @@ -1099,7 +1099,7 @@ DenonMC6000MK2.Side.prototype.getShiftState = function(group) { /* Decks */ -DenonMC6000MK2.Side.prototype.getDeckByGroup = function(group) { +DenonMC6000MK2.Side.prototype.getDeckByGroup = function (group) { var deck = this.decksByGroup[group]; if (undefined === deck) { DenonMC6000MK2.logError("No deck found for " + group); @@ -1107,7 +1107,7 @@ DenonMC6000MK2.Side.prototype.getDeckByGroup = function(group) { return deck; }; -DenonMC6000MK2.Side.prototype.onDeckButton = function(deckGroup, isButtonPressed) { +DenonMC6000MK2.Side.prototype.onDeckButton = function (deckGroup, isButtonPressed) { if (isButtonPressed) { this.activeDeck = this.getDeckByGroup(deckGroup); } @@ -1116,7 +1116,7 @@ DenonMC6000MK2.Side.prototype.onDeckButton = function(deckGroup, isButtonPressed /* Startup */ -DenonMC6000MK2.Side.prototype.connectLeds = function() { +DenonMC6000MK2.Side.prototype.connectLeds = function () { for (var deckGroup in this.decksByGroup) { var deck = this.decksByGroup[deckGroup]; deck.connectLeds(); @@ -1126,7 +1126,7 @@ DenonMC6000MK2.Side.prototype.connectLeds = function() { } }; -DenonMC6000MK2.Side.prototype.connectControls = function() { +DenonMC6000MK2.Side.prototype.connectControls = function () { for (var deckGroup in this.decksByGroup) { var deck = this.decksByGroup[deckGroup]; deck.connectControls(); @@ -1138,7 +1138,7 @@ DenonMC6000MK2.Side.prototype.connectControls = function() { /* Shutdown */ -DenonMC6000MK2.Side.prototype.restoreValues = function() { +DenonMC6000MK2.Side.prototype.restoreValues = function () { for (var group in this.decksByGroup) { var deck = this.decksByGroup[group]; deck.restoreValues(); @@ -1146,7 +1146,7 @@ DenonMC6000MK2.Side.prototype.restoreValues = function() { }; // Shift -DenonMC6000MK2.Side.prototype.onShiftButton = function(isButtonPressed) { +DenonMC6000MK2.Side.prototype.onShiftButton = function (isButtonPressed) { // local shift state this.shiftState = isButtonPressed; // global shift state @@ -1155,31 +1155,31 @@ DenonMC6000MK2.Side.prototype.onShiftButton = function(isButtonPressed) { // Filter -DenonMC6000MK2.Side.prototype.applyFilter = function() { +DenonMC6000MK2.Side.prototype.applyFilter = function () { for (var group in this.decksByGroup) { var deck = this.decksByGroup[group]; deck.applyFilter(); } }; -DenonMC6000MK2.Side.prototype.initFilter = function() { +DenonMC6000MK2.Side.prototype.initFilter = function () { this.filterEnabled = true; this.filterParam = 0.5; // centered this.applyFilter(); }; -DenonMC6000MK2.Side.prototype.toggleFilter = function() { +DenonMC6000MK2.Side.prototype.toggleFilter = function () { this.filterEnabled = !this.filterEnabled; this.applyFilter(); }; -DenonMC6000MK2.Side.prototype.onFilterButton = function(isButtonPressed) { +DenonMC6000MK2.Side.prototype.onFilterButton = function (isButtonPressed) { if (isButtonPressed) { this.toggleFilter(); } }; -DenonMC6000MK2.Side.prototype.onFilterMidiValue = function(value) { +DenonMC6000MK2.Side.prototype.onFilterMidiValue = function (value) { this.filterParam = script.absoluteLin(value, 0.0, 1.0); this.applyFilter(); }; @@ -1207,20 +1207,20 @@ DenonMC6000MK2.rightSide = new DenonMC6000MK2.Side(DenonMC6000MK2.rightDecks, De DenonMC6000MK2.sides = [DenonMC6000MK2.leftSide, DenonMC6000MK2.rightSide]; -DenonMC6000MK2.getShiftState = function() { +DenonMC6000MK2.getShiftState = function () { return DenonMC6000MK2.leftSide.shiftState || DenonMC6000MK2.rightSide.shiftState; }; -DenonMC6000MK2.getValue = function(key) { +DenonMC6000MK2.getValue = function (key) { return engine.getValue(DenonMC6000MK2.group, key); }; -DenonMC6000MK2.setValue = function(key, value) { +DenonMC6000MK2.setValue = function (key, value) { engine.setValue(DenonMC6000MK2.group, key, value); }; -DenonMC6000MK2.getJogDeltaValue = function(value) { +DenonMC6000MK2.getJogDeltaValue = function (value) { if (0x00 === value) { return 0x00; } else { @@ -1228,7 +1228,7 @@ DenonMC6000MK2.getJogDeltaValue = function(value) { } }; -DenonMC6000MK2.initValues = function() { +DenonMC6000MK2.initValues = function () { DenonMC6000MK2.backupSampleRate = engine.getValue(DenonMC6000MK2.group, "samplerate"); DenonMC6000MK2.setValue("samplerate", DenonMC6000MK2.SAMPLE_RATE); DenonMC6000MK2.backupNumDecks = DenonMC6000MK2.getValue("num_decks"); @@ -1237,7 +1237,7 @@ DenonMC6000MK2.initValues = function() { DenonMC6000MK2.setValue("num_samplers", DenonMC6000MK2.SIDE_COUNT * DenonMC6000MK2.SAMPLER_COUNT_PER_SIDE); }; -DenonMC6000MK2.connectLeds = function() { +DenonMC6000MK2.connectLeds = function () { DenonMC6000MK2.deck1.cueMixLed = DenonMC6000MK2.connectLed(0x00, 0x45); DenonMC6000MK2.deck1.cueMixDimmerLed = DenonMC6000MK2.connectLed(0x00, 0x46); DenonMC6000MK2.deck1.leftEfxLed = DenonMC6000MK2.connectTriLed(0x00, 0x56); @@ -1270,7 +1270,7 @@ DenonMC6000MK2.connectLeds = function() { } }; -DenonMC6000MK2.connectControls = function() { +DenonMC6000MK2.connectControls = function () { for (var index in DenonMC6000MK2.sides) { var side = DenonMC6000MK2.sides[index]; side.connectControls(); @@ -1282,7 +1282,7 @@ DenonMC6000MK2.connectControls = function() { } }; -DenonMC6000MK2.restoreValues = function() { +DenonMC6000MK2.restoreValues = function () { for (var index in DenonMC6000MK2.sides) { var side = DenonMC6000MK2.sides[index]; side.restoreValues(); @@ -1297,12 +1297,12 @@ DenonMC6000MK2.restoreValues = function() { // MIDI callback functions without a group // //////////////////////////////////////////////////////////////////////// -DenonMC6000MK2.recvTrackSelectKnob = function(channel, control, value, status) { +DenonMC6000MK2.recvTrackSelectKnob = function (channel, control, value, status) { var knobDelta = DenonMC6000MK2.getKnobDelta(value); engine.setValue('[Library]', DenonMC6000MK2.getShiftState() ? 'ScrollVertical' : 'MoveVertical', knobDelta); }; -DenonMC6000MK2.recvTrackSelectButton = function(channel, control, value, status) { +DenonMC6000MK2.recvTrackSelectButton = function (channel, control, value, status) { var buttonPressed = DenonMC6000MK2.isButtonPressed(value); if (buttonPressed) { if (DenonMC6000MK2.getShiftState()) { @@ -1313,7 +1313,7 @@ DenonMC6000MK2.recvTrackSelectButton = function(channel, control, value, status) } }; -DenonMC6000MK2.recvBackButton = function(channel, control, value, status) { +DenonMC6000MK2.recvBackButton = function (channel, control, value, status) { var buttonPressed = DenonMC6000MK2.isButtonPressed(value); if (buttonPressed) { if (DenonMC6000MK2.getShiftState()) { @@ -1324,7 +1324,7 @@ DenonMC6000MK2.recvBackButton = function(channel, control, value, status) { } }; -DenonMC6000MK2.recvFwdButton = function(channel, control, value, status) { +DenonMC6000MK2.recvFwdButton = function (channel, control, value, status) { var buttonPressed = DenonMC6000MK2.isButtonPressed(value); if (buttonPressed) { if (DenonMC6000MK2.getShiftState()) { @@ -1335,7 +1335,7 @@ DenonMC6000MK2.recvFwdButton = function(channel, control, value, status) { } }; -DenonMC6000MK2.recvXfaderContourKnob = function(channel, control, value, status) { +DenonMC6000MK2.recvXfaderContourKnob = function (channel, control, value, status) { script.crossfaderCurve(value); }; @@ -1344,7 +1344,7 @@ DenonMC6000MK2.recvXfaderContourKnob = function(channel, control, value, status) // MIDI [Channel] callback functions // //////////////////////////////////////////////////////////////////////// -DenonMC6000MK2.recvXfaderAssignLeftButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvXfaderAssignLeftButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); if (isButtonPressed) { var deck = DenonMC6000MK2.getDeckByGroup(group); @@ -1352,7 +1352,7 @@ DenonMC6000MK2.recvXfaderAssignLeftButton = function(channel, control, value, st } }; -DenonMC6000MK2.recvXfaderAssignThruButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvXfaderAssignThruButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); if (isButtonPressed) { var deck = DenonMC6000MK2.getDeckByGroup(group); @@ -1360,7 +1360,7 @@ DenonMC6000MK2.recvXfaderAssignThruButton = function(channel, control, value, st } }; -DenonMC6000MK2.recvXfaderAssignRightButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvXfaderAssignRightButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); if (isButtonPressed) { var deck = DenonMC6000MK2.getDeckByGroup(group); @@ -1368,166 +1368,166 @@ DenonMC6000MK2.recvXfaderAssignRightButton = function(channel, control, value, s } }; -DenonMC6000MK2.recvPanelButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvPanelButton = function (channel, control, value, status, group) { // TODO //var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); }; -DenonMC6000MK2.recvListButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvListButton = function (channel, control, value, status, group) { // TODO //var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); }; -DenonMC6000MK2.recvViewButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvViewButton = function (channel, control, value, status, group) { // TODO //var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); }; -DenonMC6000MK2.recvAreaButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvAreaButton = function (channel, control, value, status, group) { // TODO //var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); }; -DenonMC6000MK2.recvVinylButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvVinylButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onVinylButton(isButtonPressed); }; -DenonMC6000MK2.recvKeyLockButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvKeyLockButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onKeyLockButton(isButtonPressed); }; -DenonMC6000MK2.recvCueMixButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvCueMixButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onCueMixButton(isButtonPressed); }; -DenonMC6000MK2.recvBendPlusButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvBendPlusButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onBendPlusButton(isButtonPressed); }; -DenonMC6000MK2.recvBendMinusButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvBendMinusButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onBendMinusButton(isButtonPressed); }; -DenonMC6000MK2.recvJogTouch = function(channel, control, value, status, group) { +DenonMC6000MK2.recvJogTouch = function (channel, control, value, status, group) { var isJogTouched = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.touchJog(isJogTouched); }; -DenonMC6000MK2.recvJogTouchVinyl = function(channel, control, value, status, group) { +DenonMC6000MK2.recvJogTouchVinyl = function (channel, control, value, status, group) { var isJogTouched = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.touchJog(isJogTouched); }; -DenonMC6000MK2.recvJogSpin = function(channel, control, value, status, group) { +DenonMC6000MK2.recvJogSpin = function (channel, control, value, status, group) { var deck = DenonMC6000MK2.getDeckByGroup(group); var jogDelta = DenonMC6000MK2.getJogDeltaValue(value); deck.spinJog(jogDelta); }; -DenonMC6000MK2.recvJogSpinVinyl = function(channel, control, value, status, group) { +DenonMC6000MK2.recvJogSpinVinyl = function (channel, control, value, status, group) { var deck = DenonMC6000MK2.getDeckByGroup(group); var jogDelta = DenonMC6000MK2.getJogDeltaValue(value); deck.spinJog(jogDelta); }; -DenonMC6000MK2.recvAutoLoopButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvAutoLoopButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onAutoLoopButton(isButtonPressed); }; -DenonMC6000MK2.recvLoopInButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvLoopInButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onLoopInButton(isButtonPressed); }; -DenonMC6000MK2.recvLoopOutButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvLoopOutButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onLoopOutButton(isButtonPressed); }; -DenonMC6000MK2.recvLoopCutMinusButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvLoopCutMinusButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onLoopCutMinusButton(isButtonPressed); }; -DenonMC6000MK2.recvLoopCutPlusButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvLoopCutPlusButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onLoopCutPlusButton(isButtonPressed); }; -DenonMC6000MK2.recvCensorButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvCensorButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onCensorButton(isButtonPressed); }; -DenonMC6000MK2.recvSamplerButton = function(channel, control, value, status, group) { +DenonMC6000MK2.recvSamplerButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); var sampler = DenonMC6000MK2.getSamplerByGroup(group); sampler.onButton(isButtonPressed); }; -DenonMC6000MK2.leftSide.recvFilterButton = function(channel, control, value, status, group) { +DenonMC6000MK2.leftSide.recvFilterButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); DenonMC6000MK2.leftSide.onFilterButton(isButtonPressed); }; -DenonMC6000MK2.rightSide.recvFilterButton = function(channel, control, value, status, group) { +DenonMC6000MK2.rightSide.recvFilterButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); DenonMC6000MK2.rightSide.onFilterButton(isButtonPressed); }; -DenonMC6000MK2.leftSide.recvFilterKnob = function(channel, control, value, status, group) { +DenonMC6000MK2.leftSide.recvFilterKnob = function (channel, control, value, status, group) { DenonMC6000MK2.leftSide.onFilterMidiValue(value); }; -DenonMC6000MK2.rightSide.recvFilterKnob = function(channel, control, value, status, group) { +DenonMC6000MK2.rightSide.recvFilterKnob = function (channel, control, value, status, group) { DenonMC6000MK2.rightSide.onFilterMidiValue(value); }; -DenonMC6000MK2.leftSide.efxUnit.recvDeckButton = function(channel, control, value, status, group) { +DenonMC6000MK2.leftSide.efxUnit.recvDeckButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); DenonMC6000MK2.leftSide.efxUnit.onDeckButton(group, isButtonPressed); }; -DenonMC6000MK2.rightSide.efxUnit.recvDeckButton = function(channel, control, value, status, group) { +DenonMC6000MK2.rightSide.efxUnit.recvDeckButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); DenonMC6000MK2.rightSide.efxUnit.onDeckButton(group, isButtonPressed); }; -DenonMC6000MK2.leftSide.efxUnit.recvTapButton = function(channel, control, value, status, group) { +DenonMC6000MK2.leftSide.efxUnit.recvTapButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); DenonMC6000MK2.leftSide.efxUnit.onEnableButton(isButtonPressed); }; -DenonMC6000MK2.rightSide.efxUnit.recvTapButton = function(channel, control, value, status, group) { +DenonMC6000MK2.rightSide.efxUnit.recvTapButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); DenonMC6000MK2.rightSide.efxUnit.onEnableButton(isButtonPressed); }; -DenonMC6000MK2.leftSide.recvDeckButton = function(channel, control, value, status, group) { +DenonMC6000MK2.leftSide.recvDeckButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); DenonMC6000MK2.leftSide.onDeckButton(group, isButtonPressed); }; -DenonMC6000MK2.rightSide.recvDeckButton = function(channel, control, value, status, group) { +DenonMC6000MK2.rightSide.recvDeckButton = function (channel, control, value, status, group) { var isButtonPressed = DenonMC6000MK2.isButtonPressed(value); DenonMC6000MK2.rightSide.onDeckButton(group, isButtonPressed); }; @@ -1539,79 +1539,79 @@ DenonMC6000MK2.rightSide.recvDeckButton = function(channel, control, value, stat // Deck controls -DenonMC6000MK2.ctrlKeyLock = function(value, group, control) { +DenonMC6000MK2.ctrlKeyLock = function (value, group, control) { var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onKeyLockValue(value); }; -DenonMC6000MK2.ctrlSlipModeValue = function(value, group, control) { +DenonMC6000MK2.ctrlSlipModeValue = function (value, group, control) { var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onSlipModeValue(value); }; -DenonMC6000MK2.ctrlCueMix = function(value, group, control) { +DenonMC6000MK2.ctrlCueMix = function (value, group, control) { var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onCueMixValue(value); }; -DenonMC6000MK2.ctrlTrackSamples = function(value, group, control) { +DenonMC6000MK2.ctrlTrackSamples = function (value, group, control) { var deck = DenonMC6000MK2.getDeckByGroup(group); deck.onTrackSamplesValue(value); }; // Loop controls -DenonMC6000MK2.ctrlLoopStartPosition = function(value, group, control) { +DenonMC6000MK2.ctrlLoopStartPosition = function (value, group, control) { var deck = DenonMC6000MK2.getDeckByGroup(group); deck.updateLoopLeds(); }; -DenonMC6000MK2.ctrlLoopEndPosition = function(value, group, control) { +DenonMC6000MK2.ctrlLoopEndPosition = function (value, group, control) { var deck = DenonMC6000MK2.getDeckByGroup(group); deck.updateLoopLeds(); }; -DenonMC6000MK2.ctrlLoopEnabled = function(value, group, control) { +DenonMC6000MK2.ctrlLoopEnabled = function (value, group, control) { var deck = DenonMC6000MK2.getDeckByGroup(group); deck.updateLoopLeds(); }; // Sampler controls -DenonMC6000MK2.ctrlSampler = function(value, group, control) { +DenonMC6000MK2.ctrlSampler = function (value, group, control) { var sampler = DenonMC6000MK2.getSamplerByGroup(group); sampler.updateLeds(); }; // Filter controls (shared between 2 decks on each side) -DenonMC6000MK2.leftSide.ctrlFilterEnabled = function(value, group, control) { +DenonMC6000MK2.leftSide.ctrlFilterEnabled = function (value, group, control) { DenonMC6000MK2.leftSide.filterLed.setStateBoolean(value); }; -DenonMC6000MK2.rightSide.ctrlFilterEnabled = function(value, group, control) { +DenonMC6000MK2.rightSide.ctrlFilterEnabled = function (value, group, control) { DenonMC6000MK2.rightSide.filterLed.setStateBoolean(value); }; // Efx controls -DenonMC6000MK2.leftSide.efxUnit.ctrlDeck = function(value, group, control) { +DenonMC6000MK2.leftSide.efxUnit.ctrlDeck = function (value, group, control) { var deckGroup = control.substring(6, 16); var deck = DenonMC6000MK2.getDeckByGroup(deckGroup); deck.leftEfxLed.setStateBoolean(value); }; -DenonMC6000MK2.rightSide.efxUnit.ctrlDeck = function(value, group, control) { +DenonMC6000MK2.rightSide.efxUnit.ctrlDeck = function (value, group, control) { var deckGroup = control.substring(6, 16); var deck = DenonMC6000MK2.getDeckByGroup(deckGroup); deck.rightEfxLed.setStateBoolean(value); }; -DenonMC6000MK2.leftSide.efxUnit.ctrlEnabled = function(value, group, control) { +DenonMC6000MK2.leftSide.efxUnit.ctrlEnabled = function (value, group, control) { DenonMC6000MK2.leftSide.efxUnit.onEnabled(); }; -DenonMC6000MK2.rightSide.efxUnit.ctrlEnabled = function(value, group, control) { +DenonMC6000MK2.rightSide.efxUnit.ctrlEnabled = function (value, group, control) { DenonMC6000MK2.rightSide.efxUnit.onEnabled(); }; @@ -1674,7 +1674,7 @@ DenonMC6000MK2.Side.prototype.shiftButtonInput = function (channel, control, val } }; -DenonMC6000MK2.Side.prototype.shift = function() { +DenonMC6000MK2.Side.prototype.shift = function () { // Call super class method components.ComponentContainer.prototype.shift.call(this); // Apply to each deck @@ -1686,7 +1686,7 @@ DenonMC6000MK2.Side.prototype.shift = function() { this.oldSide.onShiftButton(true); }; -DenonMC6000MK2.Side.prototype.unshift = function() { +DenonMC6000MK2.Side.prototype.unshift = function () { // Call super class method components.ComponentContainer.prototype.unshift.call(this); // Apply to each deck @@ -1743,7 +1743,7 @@ DenonMC6000MK2.Deck.prototype.shiftButtonInput = function (channel, control, val // Mixxx Callback Functions // //////////////////////////////////////////////////////////////////////// -DenonMC6000MK2.init = function(id, debug) { +DenonMC6000MK2.init = function (id, debug) { DenonMC6000MK2.id = id; DenonMC6000MK2.debug = debug; @@ -1783,7 +1783,7 @@ DenonMC6000MK2.init = function(id, debug) { DenonMC6000MK2.newRightSide.connectDeck(DenonMC6000MK2.rightDeck2); DenonMC6000MK2.rightDeck4 = new DenonMC6000MK2.Deck(4, DenonMC6000MK2.MIDI_CH3); DenonMC6000MK2.newRightSide.connectDeck(DenonMC6000MK2.rightDeck4); - + DenonMC6000MK2.allDecks = [ DenonMC6000MK2.leftDeck1, DenonMC6000MK2.rightDeck2, @@ -1793,7 +1793,7 @@ DenonMC6000MK2.init = function(id, debug) { // Init left side efx unit DenonMC6000MK2.newLeftSide.effectUnit = new components.EffectUnit([1]); - DenonMC6000MK2.newLeftSide.effectUnit.dryWetKnob.input = function(channel, control, value, status, group) { + DenonMC6000MK2.newLeftSide.effectUnit.dryWetKnob.input = function (channel, control, value, status, group) { var knobDelta = DenonMC6000MK2.getKnobDelta(value); this.inSetParameter(this.inGetParameter() + knobDelta / DenonMC6000MK2.EFX_MIX_ENCODER_STEPS); }; @@ -1801,7 +1801,7 @@ DenonMC6000MK2.init = function(id, debug) { // Init right side efx unit DenonMC6000MK2.newRightSide.effectUnit = new components.EffectUnit([2]); - DenonMC6000MK2.newRightSide.effectUnit.dryWetKnob.input = function(channel, control, value, status, group) { + DenonMC6000MK2.newRightSide.effectUnit.dryWetKnob.input = function (channel, control, value, status, group) { var knobDelta = DenonMC6000MK2.getKnobDelta(value); this.inSetParameter(this.inGetParameter() + knobDelta / DenonMC6000MK2.EFX_MIX_ENCODER_STEPS); }; @@ -1820,7 +1820,7 @@ DenonMC6000MK2.init = function(id, debug) { } }; -DenonMC6000MK2.shutdown = function() { +DenonMC6000MK2.shutdown = function () { DenonMC6000MK2.logInfo("Shutting down controller"); try {