diff options
author | Be <be@mixxx.org> | 2020-07-29 12:10:47 -0500 |
---|---|---|
committer | Be <be@mixxx.org> | 2020-07-29 13:36:55 -0500 |
commit | 2dfa7a18f92073f2d592e508cdf7862a49e2b078 (patch) | |
tree | 80d0e54a92677b88df02f423099a88e9b7267522 | |
parent | c4eca9311d47057a58736f3882e0c16359e239c4 (diff) |
NI Traktor Kontrol S2 Mk2: use camelCase for variable names
-rw-r--r-- | res/controllers/Traktor-Kontrol-S2-MK2-hid-scripts.js | 361 |
1 files changed, 174 insertions, 187 deletions
diff --git a/res/controllers/Traktor-Kontrol-S2-MK2-hid-scripts.js b/res/controllers/Traktor-Kontrol-S2-MK2-hid-scripts.js index 74ac28d6b7..9a0655a4d5 100644 --- a/res/controllers/Traktor-Kontrol-S2-MK2-hid-scripts.js +++ b/res/controllers/Traktor-Kontrol-S2-MK2-hid-scripts.js @@ -21,24 +21,24 @@ var ShiftCueButtonAction = "REWIND"; var ButtonBrightnessOff = 0x01; var ButtonBrightnessOn = 0x7f; -TraktorS2MK2 = new function() { +var TraktorS2MK2 = new function() { this.controller = new HIDController(); // When true, packets will not be sent to the controller. // Used when updating multiple LEDs simultaneously. - this.batching_LED_update = false; + this.batchingLEDUpdate = false; // Previous values, used for calculating deltas for encoder knobs. - this.previous_browse = 0; - this.previous_pregain = { + this.previousBrowse = 0; + this.previousPregain = { "[Channel1]": 0, "[Channel2]": 0 }; - this.previous_leftencoder = { + this.previousLeftEncoder = { "[Channel1]": 0, "[Channel2]": 0 }; - this.previous_rightencoder = { + this.previousRightEncoder = { "[Channel1]": 0, "[Channel2]": 0 }; @@ -47,36 +47,36 @@ TraktorS2MK2 = new function() { "[Channel2]": 0 }; - this.top_encoder_pressed = { + this.topEncoderPressed = { "[Channel1]": false, "[Channel2]": false }; - this.left_encoder_pressed = { + this.leftEncoderPressed = { "[Channel1]": false, "[Channel2]": false }; - this.shift_pressed = { + this.shiftPressed = { "[Channel1]": false, "[Channel2]": false }; - this.pad_modes = { + this.padModes = { "hotcue": 0, - "intro_outro": 1, + "introOutro": 1, "sampler": 2 }; - this.current_pad_mode = { - "[Channel1]": this.pad_modes.hotcue, - "[Channel2]": this.pad_modes.hotcue + this.currentPadMode = { + "[Channel1]": this.padModes.hotcue, + "[Channel2]": this.padModes.hotcue }; - this.pad_connections = { + this.padConnections = { "[Channel1]": [], "[Channel2]": [] }; - this.last_tick_val = [0, 0]; - this.last_tick_time = [0.0, 0.0]; - this.sync_enabled_time = {}; + this.lastTickValue = [0, 0]; + this.lastTickTime = [0.0, 0.0]; + this.syncEnabledTime = {}; this.longPressTimeoutMilliseconds = 275; // milliseconds @@ -348,8 +348,8 @@ TraktorS2MK2.registerOutputPackets = function() { TraktorS2MK2.linkDeckOutputs("cue_indicator", TraktorS2MK2.outputCallback); TraktorS2MK2.linkDeckOutputs("play_indicator", TraktorS2MK2.outputCallback); - TraktorS2MK2.setPadMode("[Channel1]", TraktorS2MK2.pad_modes.hotcue); - TraktorS2MK2.setPadMode("[Channel2]", TraktorS2MK2.pad_modes.hotcue); + TraktorS2MK2.setPadMode("[Channel1]", TraktorS2MK2.padModes.hotcue); + TraktorS2MK2.setPadMode("[Channel2]", TraktorS2MK2.padModes.hotcue); TraktorS2MK2.linkDeckOutputs("loop_in", TraktorS2MK2.outputCallbackLoop); TraktorS2MK2.linkDeckOutputs("loop_out", TraktorS2MK2.outputCallbackLoop); @@ -392,16 +392,16 @@ TraktorS2MK2.linkChannelOutput = function(group, key, callback) { TraktorS2MK2.controller.linkOutput(group, key, group, key, callback); }; -TraktorS2MK2.lightGroup = function(packet, output_group_name, co_group_name) { - var group_ob = packet.groups[output_group_name]; - for (var field_name in group_ob) { - field = group_ob[field_name]; +TraktorS2MK2.lightGroup = function(packet, outputGroupName, coGroupName) { + var groupObject = packet.groups[outputGroupName]; + for (var fieldName in groupObject) { + field = groupObject[fieldName]; if (field.name[0] === "!") { continue; } if (field.mapped_callback) { - var value = engine.getValue(co_group_name, field.name); - field.mapped_callback(value, co_group_name, field.name); + var value = engine.getValue(coGroupName, field.name); + field.mapped_callback(value, coGroupName, field.name); } // No callback, no light! } @@ -409,9 +409,9 @@ TraktorS2MK2.lightGroup = function(packet, output_group_name, co_group_name) { TraktorS2MK2.lightDeck = function(group) { // Freeze the lights while we do this update so we don't spam HID. - this.batching_LED_update = true; - for (var packet_name in this.controller.OutputPackets) { - packet = this.controller.OutputPackets[packet_name]; + this.batchingLEDUpdate = true; + for (var packetName in this.controller.OutputPackets) { + packet = this.controller.OutputPackets[packetName]; TraktorS2MK2.lightGroup(packet, group, group); // These outputs show state managed by this script and do not react to ControlObject changes, // so manually set them here. @@ -420,11 +420,10 @@ TraktorS2MK2.lightDeck = function(group) { TraktorS2MK2.outputCallback(0, group, "!remix_button"); } - this.batching_LED_update = false; + this.batchingLEDUpdate = false; // And now send them all. - for (packet_name in this.controller.OutputPackets) { - var packet_ob = this.controller.OutputPackets[packet_name]; - packet_ob.send(); + for (packetName in this.controller.OutputPackets) { + this.controller.OutputPackets[packetName].send(); } }; @@ -495,16 +494,16 @@ TraktorS2MK2.toggleButton = function(field) { TraktorS2MK2.shift = function(field) { var group = field.id.split(".")[0]; - TraktorS2MK2.shift_pressed[group] = field.value > 0; + TraktorS2MK2.shiftPressed[group] = field.value > 0; TraktorS2MK2.controller.setOutput(group, "!shift", - TraktorS2MK2.shift_pressed[group] ? ButtonBrightnessOn : ButtonBrightnessOff, field.group, "!shift", - !TraktorS2MK2.batching_LED_update); + TraktorS2MK2.shiftPressed[group] ? ButtonBrightnessOn : ButtonBrightnessOff, field.group, "!shift", + !TraktorS2MK2.batchingLEDUpdate); }; TraktorS2MK2.loadTrackButton = function(field) { var splitted = field.id.split("."); var group = splitted[0]; - if (TraktorS2MK2.shift_pressed[group]) { + if (TraktorS2MK2.shiftPressed[group]) { engine.setValue(field.group, "eject", field.value); } else { engine.setValue(field.group, "LoadSelectedTrack", field.value); @@ -518,7 +517,7 @@ TraktorS2MK2.syncButton = function(field) { var group = splitted[0]; // If shifted, just toggle. // TODO(later version): actually make this enable explicit master. - if (TraktorS2MK2.shift_pressed[group]) { + if (TraktorS2MK2.shiftPressed[group]) { if (field.value === 0) { return; } @@ -526,17 +525,16 @@ TraktorS2MK2.syncButton = function(field) { engine.setValue(field.group, "sync_enabled", !synced); } else { if (field.value === 1) { - TraktorS2MK2.sync_enabled_time[field.group] = now; + TraktorS2MK2.syncEnabledTime[field.group] = now; engine.setValue(field.group, "sync_enabled", 1); } else { - var cur_enabled = engine.getValue(field.group, "sync_enabled"); - if (!cur_enabled) { + if (!engine.getValue(field.group, "sync_enabled")) { // If disabled, and switching to disable... stay disabled. engine.setValue(field.group, "sync_enabled", 0); return; } // was enabled, and button has been let go. maybe latch it. - if (now - TraktorS2MK2.sync_enabled_time[field.group] > 300) { + if (now - TraktorS2MK2.syncEnabledTime[field.group] > 300) { engine.setValue(field.group, "sync_enabled", 1); return; } @@ -548,7 +546,7 @@ TraktorS2MK2.syncButton = function(field) { TraktorS2MK2.cueButton = function(field) { var splitted = field.id.split("."); var group = splitted[0]; - if (TraktorS2MK2.shift_pressed[group]) { + if (TraktorS2MK2.shiftPressed[group]) { if (ShiftCueButtonAction == "REWIND") { if (field.value === 0) { return; @@ -571,7 +569,7 @@ TraktorS2MK2.playButton = function(field) { } var splitted = field.id.split("."); var group = splitted[0]; - if (TraktorS2MK2.shift_pressed[group]) { + if (TraktorS2MK2.shiftPressed[group]) { var locked = engine.getValue(field.group, "keylock"); engine.setValue(field.group, "keylock", !locked); } else { @@ -604,7 +602,7 @@ TraktorS2MK2.jogTouch = function(field) { // button, but not so long that there is an awkward delay before stopping scratching after // a backspin. var inertiaTime; - if (TraktorS2MK2.shift_pressed[field.group]) { + if (TraktorS2MK2.shiftPressed[field.group]) { inertiaTime = Math.pow(1.7, scratchRate / 10) / 1.6; } else { inertiaTIme = Math.pow(1.7, scratchRate) / 1.6; @@ -647,17 +645,17 @@ TraktorS2MK2.finishJogTouch = function(group) { TraktorS2MK2.jogMove = function(field) { var deltas = TraktorS2MK2.wheelDeltas(field.group, field.value); - var tick_delta = deltas[0]; - var time_delta = deltas[1]; + var tickDelta = deltas[0]; + var timeDelta = deltas[1]; if (engine.getValue(field.group, "scratch2_enable")) { var deckNumber = TraktorS2MK2.controller.resolveDeck(group); - if (TraktorS2MK2.shift_pressed[group]) { - tick_delta *= 10; + if (TraktorS2MK2.shiftPressed[group]) { + tickDelta *= 10; } - engine.scratchTick(deckNumber, tick_delta); + engine.scratchTick(deckNumber, tickDelta); } else { - var velocity = TraktorS2MK2.scalerJog(tick_delta, time_delta); + var velocity = TraktorS2MK2.scalerJog(tickDelta, timeDelta); engine.setValue(field.group, "jog", velocity); } }; @@ -666,67 +664,67 @@ TraktorS2MK2.wheelDeltas = function(group, value) { // When the wheel is touched, four bytes change, but only the first behaves predictably. // It looks like the wheel is 1024 ticks per revolution. var tickval = value & 0xFF; - var timeval = value >>> 16; - var prev_tick = 0; - var prev_time = 0; + var timeValue = value >>> 16; + var previousTick = 0; + var previousTime = 0; if (group[8] === "1" || group[8] === "3") { - prev_tick = TraktorS2MK2.last_tick_val[0]; - prev_time = TraktorS2MK2.last_tick_time[0]; - TraktorS2MK2.last_tick_val[0] = tickval; - TraktorS2MK2.last_tick_time[0] = timeval; + previousTick = TraktorS2MK2.lastTickValue[0]; + previousTime = TraktorS2MK2.lastTickTime[0]; + TraktorS2MK2.lastTickValue[0] = tickval; + TraktorS2MK2.lastTickTime[0] = timeValue; } else { - prev_tick = TraktorS2MK2.last_tick_val[1]; - prev_time = TraktorS2MK2.last_tick_time[1]; - TraktorS2MK2.last_tick_val[1] = tickval; - TraktorS2MK2.last_tick_time[1] = timeval; + previousTick = TraktorS2MK2.lastTickValue[1]; + previousTime = TraktorS2MK2.lastTickTime[1]; + TraktorS2MK2.lastTickValue[1] = tickval; + TraktorS2MK2.lastTickTime[1] = timeValue; } - if (prev_time > timeval) { + if (previousTime > timeValue) { // We looped around. Adjust current time so that subtraction works. - timeval += 0x10000; + timeValue += 0x10000; } - var time_delta = timeval - prev_time; - if (time_delta === 0) { + var timeDelta = timeValue - previousTime; + if (timeDelta === 0) { // Spinning too fast to detect speed! By not dividing we are guessing it took 1ms. - time_delta = 1; + timeDelta = 1; } - var tick_delta = 0; - if (prev_tick >= 200 && tickval <= 100) { - tick_delta = tickval + 256 - prev_tick; - } else if (prev_tick <= 100 && tickval >= 200) { - tick_delta = tickval - prev_tick - 256; + var tickDelta = 0; + if (previousTick >= 200 && tickval <= 100) { + tickDelta = tickval + 256 - previousTick; + } else if (previousTick <= 100 && tickval >= 200) { + tickDelta = tickval - previousTick - 256; } else { - tick_delta = tickval - prev_tick; + tickDelta = tickval - previousTick; } - //HIDDebug(group + " " + tickval + " " + prev_tick + " " + tick_delta); - return [tick_delta, time_delta]; + //HIDDebug(group + " " + tickval + " " + previousTick + " " + tickDelta); + return [tickDelta, timeDelta]; }; -TraktorS2MK2.scalerJog = function(tick_delta, time_delta) { +TraktorS2MK2.scalerJog = function(tickDelta, timeDelta) { if (engine.getValue(group, "play")) { - return (tick_delta / time_delta) / 3; + return (tickDelta / timeDelta) / 3; } else { - return (tick_delta / time_delta) * 2.0; + return (tickDelta / timeDelta) * 2.0; } }; -var intro_outro_keys = [ +var introOutroKeys = [ "intro_start", "intro_end", "outro_start", "outro_end" ]; -var intro_outro_colors = [ +var introOutroColors = [ {red: 0, green: 0x7f, blue: 0}, {red: 0, green: 0x7f, blue: 0}, {red: 0x7f, green: 0, blue: 0}, {red: 0x7f, green: 0, blue: 0} ]; -var intro_outro_colors_dim = [ +var introOutroColorsDim = [ {red: 0, green: ButtonBrightnessOff, blue: 0}, {red: 0, green: ButtonBrightnessOff, blue: 0}, {red: ButtonBrightnessOff, green: 0, blue: 0}, @@ -735,35 +733,35 @@ var intro_outro_colors_dim = [ TraktorS2MK2.setPadMode = function(group, padMode) { - TraktorS2MK2.pad_connections[group].forEach(function(connection) { + TraktorS2MK2.padConnections[group].forEach(function(connection) { connection.disconnect(); }); - TraktorS2MK2.pad_connections[group] = []; + TraktorS2MK2.padConnections[group] = []; - if (padMode === TraktorS2MK2.pad_modes.hotcue) { + if (padMode === TraktorS2MK2.padModes.hotcue) { for (var i = 1; i <= 4; i++) { - TraktorS2MK2.pad_connections[group].push( + TraktorS2MK2.padConnections[group].push( engine.makeConnection(group, "hotcue_" + i + "_enabled", TraktorS2MK2.outputHotcueCallback)); - TraktorS2MK2.pad_connections[group].push( + TraktorS2MK2.padConnections[group].push( engine.makeConnection(group, "hotcue_" + i + "_color", TraktorS2MK2.outputHotcueCallback)); } - } else if (padMode === TraktorS2MK2.pad_modes.intro_outro) { + } else if (padMode === TraktorS2MK2.padModes.introOutro) { for (var i = 1; i <= 4; i++) { // This function to create callback functions is needed so the loop index variable // i does not get captured in a closure within the callback. var makeIntroOutroCallback = function(padNumber) { return function(value, group, control) { if (value > 0) { - TraktorS2MK2.sendPadColor(group, padNumber, intro_outro_colors[padNumber-1]); + TraktorS2MK2.sendPadColor(group, padNumber, introOutroColors[padNumber-1]); } else { - TraktorS2MK2.sendPadColor(group, padNumber, intro_outro_colors_dim[padNumber-1]); + TraktorS2MK2.sendPadColor(group, padNumber, introOutroColorsDim[padNumber-1]); } }; }; - TraktorS2MK2.pad_connections[group].push(engine.makeConnection( - group, intro_outro_keys[i-1] + "_enabled", makeIntroOutroCallback(i))); + TraktorS2MK2.padConnections[group].push(engine.makeConnection( + group, introOutroKeys[i-1] + "_enabled", makeIntroOutroCallback(i))); } - } else if (padMode === TraktorS2MK2.pad_modes.sampler) { + } else if (padMode === TraktorS2MK2.padModes.sampler) { for (var i = 1; i <= 4; i++) { var makeSamplerCallback = function(deckGroup, padNumber) { var samplerNumber = deckGroup === "[Channel1]" ? padNumber : padNumber + 4; @@ -789,24 +787,24 @@ TraktorS2MK2.setPadMode = function(group, padMode) { var sNumber = group === "[Channel1]" ? i : i + 4; var sGroup = "[Sampler" + sNumber + "]"; - TraktorS2MK2.pad_connections[group].push(engine.makeConnection( + TraktorS2MK2.padConnections[group].push(engine.makeConnection( sGroup, "track_loaded", makeSamplerCallback(group, i))); - TraktorS2MK2.pad_connections[group].push(engine.makeConnection( + TraktorS2MK2.padConnections[group].push(engine.makeConnection( sGroup, "play", makeSamplerCallback(group, i))); - TraktorS2MK2.pad_connections[group].push(engine.makeConnection( + TraktorS2MK2.padConnections[group].push(engine.makeConnection( sGroup, "repeat", makeSamplerCallback(group, i))); } } - TraktorS2MK2.pad_connections[group].forEach(function(connection) { + TraktorS2MK2.padConnections[group].forEach(function(connection) { connection.trigger(); }); - TraktorS2MK2.current_pad_mode[group] = padMode; + TraktorS2MK2.currentPadMode[group] = padMode; }; TraktorS2MK2.hotcueButton = function(buttonNumber, group, value) { - if (TraktorS2MK2.shift_pressed[group]) { + if (TraktorS2MK2.shiftPressed[group]) { engine.setValue(group, "hotcue_" + buttonNumber + "_clear", value); } else { engine.setValue(group, "hotcue_" + buttonNumber + "_activate", value); @@ -814,10 +812,10 @@ TraktorS2MK2.hotcueButton = function(buttonNumber, group, value) { }; TraktorS2MK2.introOutroButton = function(buttonNumber, group, value) { - if (TraktorS2MK2.shift_pressed[group]) { - engine.setValue(group, intro_outro_keys[buttonNumber-1] + "_clear", value); + if (TraktorS2MK2.shiftPressed[group]) { + engine.setValue(group, introOutroKeys[buttonNumber-1] + "_clear", value); } else { - engine.setValue(group, intro_outro_keys[buttonNumber-1] + "_activate", value); + engine.setValue(group, introOutroKeys[buttonNumber-1] + "_activate", value); } }; @@ -827,7 +825,7 @@ TraktorS2MK2.samplerButton = function(buttonNumber, group, value) { } var samplerNumber = group === "[Channel1]" ? buttonNumber : buttonNumber + 4; var samplerGroup = "[Sampler" + samplerNumber + "]"; - if (TraktorS2MK2.shift_pressed[group]) { + if (TraktorS2MK2.shiftPressed[group]) { if (engine.getValue(samplerGroup, "play") === 1) { engine.setValue(samplerGroup, "play", 0); } else { @@ -845,13 +843,13 @@ TraktorS2MK2.samplerButton = function(buttonNumber, group, value) { TraktorS2MK2.padButton = function(field) { var group = field.id.split(".")[0]; var buttonNumber = parseInt(field.name[field.name.length - 1]); - var padMode = TraktorS2MK2.current_pad_mode[group]; + var padMode = TraktorS2MK2.currentPadMode[group]; - if (padMode === TraktorS2MK2.pad_modes.hotcue) { + if (padMode === TraktorS2MK2.padModes.hotcue) { TraktorS2MK2.hotcueButton(buttonNumber, field.group, field.value); - } else if (padMode === TraktorS2MK2.pad_modes.intro_outro) { + } else if (padMode === TraktorS2MK2.padModes.introOutro) { TraktorS2MK2.introOutroButton(buttonNumber, field.group, field.value); - } else if (padMode === TraktorS2MK2.pad_modes.sampler) { + } else if (padMode === TraktorS2MK2.padModes.sampler) { TraktorS2MK2.samplerButton(buttonNumber, field.group, field.value); } }; @@ -860,14 +858,14 @@ TraktorS2MK2.samplerModeButton = function(field) { if (field.value === 0) { return; } - var padMode = TraktorS2MK2.current_pad_mode[field.group]; - if (padMode !== TraktorS2MK2.pad_modes.sampler) { - TraktorS2MK2.setPadMode(field.group, TraktorS2MK2.pad_modes.sampler); + var padMode = TraktorS2MK2.currentPadMode[field.group]; + if (padMode !== TraktorS2MK2.padModes.sampler) { + TraktorS2MK2.setPadMode(field.group, TraktorS2MK2.padModes.sampler); TraktorS2MK2.controller.setOutput(field.group, "!remix_button", ButtonBrightnessOn, false); - TraktorS2MK2.controller.setOutput(field.group, "!flux_button", ButtonBrightnessOff, !TraktorS2MK2.batching_LED_update); + TraktorS2MK2.controller.setOutput(field.group, "!flux_button", ButtonBrightnessOff, !TraktorS2MK2.batchingLEDUpdate); } else { - TraktorS2MK2.setPadMode(field.group, TraktorS2MK2.pad_modes.hotcue); - TraktorS2MK2.controller.setOutput(field.group, "!remix_button", ButtonBrightnessOff, !TraktorS2MK2.batching_LED_update); + TraktorS2MK2.setPadMode(field.group, TraktorS2MK2.padModes.hotcue); + TraktorS2MK2.controller.setOutput(field.group, "!remix_button", ButtonBrightnessOff, !TraktorS2MK2.batchingLEDUpdate); } }; @@ -875,14 +873,14 @@ TraktorS2MK2.introOutroModeButton = function(field) { if (field.value === 0) { return; } - var padMode = TraktorS2MK2.current_pad_mode[field.group]; - if (padMode !== TraktorS2MK2.pad_modes.intro_outro) { - TraktorS2MK2.setPadMode(field.group, TraktorS2MK2.pad_modes.intro_outro); + var padMode = TraktorS2MK2.currentPadMode[field.group]; + if (padMode !== TraktorS2MK2.padModes.introOutro) { + TraktorS2MK2.setPadMode(field.group, TraktorS2MK2.padModes.introOutro); TraktorS2MK2.controller.setOutput(field.group, "!flux_button", ButtonBrightnessOn, false); - TraktorS2MK2.controller.setOutput(field.group, "!remix_button", ButtonBrightnessOff, !TraktorS2MK2.batching_LED_update); + TraktorS2MK2.controller.setOutput(field.group, "!remix_button", ButtonBrightnessOff, !TraktorS2MK2.batchingLEDUpdate); } else { - TraktorS2MK2.setPadMode(field.group, TraktorS2MK2.pad_modes.hotcue); - TraktorS2MK2.controller.setOutput(field.group, "!flux_button", ButtonBrightnessOff, !TraktorS2MK2.batching_LED_update); + TraktorS2MK2.setPadMode(field.group, TraktorS2MK2.padModes.hotcue); + TraktorS2MK2.controller.setOutput(field.group, "!flux_button", ButtonBrightnessOff, !TraktorS2MK2.batchingLEDUpdate); } }; @@ -906,12 +904,12 @@ TraktorS2MK2.connectEffectButtonLEDs = function(effectUnitGroup) { var makeButtonLEDcallback = function(effectNumber) { return function(value, group, control) { TraktorS2MK2.controller.setOutput(effectUnitGroup, "!effectbutton" + effectNumber, - value === 1 ? ButtonBrightnessOn : ButtonBrightnessOff, !TraktorS2MK2.batching_LED_update); + value === 1 ? ButtonBrightnessOn : ButtonBrightnessOff, !TraktorS2MK2.batchingLEDUpdate); }; }; // FIXME: Why do the LEDs flicker? - TraktorS2MK2.batching_LED_update = true; + TraktorS2MK2.batchingLEDUpdate = true; for (var i = 0; i < 3; i++) { var effectGroup; var key; @@ -926,7 +924,7 @@ TraktorS2MK2.connectEffectButtonLEDs = function(effectUnitGroup) { effectGroup, key, makeButtonLEDcallback(i+1)); TraktorS2MK2.effectButtonLEDconnections[effectUnitGroup][i].trigger(); } - TraktorS2MK2.batching_LED_update = false; + TraktorS2MK2.batchingLEDUpdate = false; TraktorS2MK2.effectButtonLEDconnections[effectUnitGroup][2].trigger(); }; @@ -949,7 +947,7 @@ TraktorS2MK2.onShowParametersChange = function(value, group, control) { // Refer to https://github.com/mixxxdj/mixxx/wiki/standard-effects-mapping for how to use this. TraktorS2MK2.onFocusedEffectChange = function(value, group, control) { - TraktorS2MK2.controller.setOutput(group, "!effect_focus_button", value > 0 ? ButtonBrightnessOn : ButtonBrightnessOff, !TraktorS2MK2.batching_LED_update); + TraktorS2MK2.controller.setOutput(group, "!effect_focus_button", value > 0 ? ButtonBrightnessOn : ButtonBrightnessOff, !TraktorS2MK2.batchingLEDUpdate); if (value === 0) { for (var i = 1; i < 3; i++) { // The previously focused effect is not available here, so iterate over all effects' parameter knobs. @@ -969,7 +967,7 @@ TraktorS2MK2.effectFocusButton = function(field) { var showParameters = engine.getValue(field.group, "show_parameters"); if (field.value > 0) { var effectUnitNumber = field.group.slice(-2, -1); - if (TraktorS2MK2.shift_pressed["[Channel" + effectUnitNumber + "]"]) { + if (TraktorS2MK2.shiftPressed["[Channel" + effectUnitNumber + "]"]) { engine.setValue(field.group, "load_preset", 1); return; } @@ -981,16 +979,16 @@ TraktorS2MK2.effectFocusButton = function(field) { var makeButtonLEDcallback = function(buttonNumber) { return function(value, group, control) { TraktorS2MK2.controller.setOutput(group, "!effectbutton" + buttonNumber, - value === buttonNumber ? ButtonBrightnessOn : ButtonBrightnessOff, !TraktorS2MK2.batching_LED_update); + value === buttonNumber ? ButtonBrightnessOn : ButtonBrightnessOff, !TraktorS2MK2.batchingLEDUpdate); }; }; - TraktorS2MK2.batching_LED_update = true; + TraktorS2MK2.batchingLEDUpdate = true; for (var i = 0; i < 3; i++) { TraktorS2MK2.effectButtonLEDconnections[i] = engine.makeConnection( field.group, "focused_effect", makeButtonLEDcallback(i+1)); TraktorS2MK2.effectButtonLEDconnections[i].trigger(); } - TraktorS2MK2.batching_LED_update = false; + TraktorS2MK2.batchingLEDUpdate = false; TraktorS2MK2.effectButtonLEDconnections[2].trigger(); }); if (!showParameters) { @@ -1051,7 +1049,7 @@ TraktorS2MK2.effectButton = function(field) { }; if (field.value > 0) { - if (TraktorS2MK2.shift_pressed["[Channel" + effectUnitNumber + "]"]) { + if (TraktorS2MK2.shiftPressed["[Channel" + effectUnitNumber + "]"]) { engine.setValue(effectUnitGroup, "load_preset", buttonNumber+1); } else { if (TraktorS2MK2.effectFocusChooseModeActive[effectUnitGroup]) { @@ -1102,57 +1100,57 @@ TraktorS2MK2.encoderDelta = function(newValue, oldValue) { }; TraktorS2MK2.topEncoder = function(field) { - var delta = 0.03333 * TraktorS2MK2.encoderDelta(field.value, TraktorS2MK2.previous_pregain[group]); - TraktorS2MK2.previous_pregain[field.group] = field.value; + var delta = 0.03333 * TraktorS2MK2.encoderDelta(field.value, TraktorS2MK2.previousPregain[group]); + TraktorS2MK2.previousPregain[field.group] = field.value; - if (TraktorS2MK2.shift_pressed[field.group]) { - var cur_pregain = engine.getParameter(group, "pregain"); - engine.setParameter(group, "pregain", cur_pregain + delta); + if (TraktorS2MK2.shiftPressed[field.group]) { + var currentPregain = engine.getParameter(group, "pregain"); + engine.setParameter(group, "pregain", currentPregain + delta); } else { - var quickeffect_group = "[QuickEffectRack1_" + field.group + "]"; - if (TraktorS2MK2.top_encoder_pressed[field.group]) { - script.triggerControl(quickeffect_group, delta > 0 ? "next_chain" : "prev_chain"); + var quickEffectGroup = "[QuickEffectRack1_" + field.group + "]"; + if (TraktorS2MK2.topEncoderPressed[field.group]) { + script.triggerControl(quickEffectGroup, delta > 0 ? "next_chain" : "prev_chain"); } else { - var cur_quickeffect = engine.getParameter(quickeffect_group, "super1"); - engine.setParameter(quickeffect_group, "super1", cur_quickeffect + delta); + var currentQuickEffectSuperKnob = engine.getParameter(quickEffectGroup, "super1"); + engine.setParameter(quickEffectGroup, "super1", currentQuickEffectSuperKnob + delta); } } }; TraktorS2MK2.topEncoderPress = function(field) { if (field.value > 0) { - TraktorS2MK2.top_encoder_pressed[field.group] = true; - if (TraktorS2MK2.shift_pressed[field.group]) { + TraktorS2MK2.topEncoderPressed[field.group] = true; + if (TraktorS2MK2.shiftPressed[field.group]) { script.triggerControl(field.group, "pregain_set_default"); } else { script.triggerControl("[QuickEffectRack1_" + field.group + "]", "super1_set_default"); } } else { - TraktorS2MK2.top_encoder_pressed[field.group] = false; + TraktorS2MK2.topEncoderPressed[field.group] = false; } }; TraktorS2MK2.leftEncoder = function(field) { var splitted = field.id.split("."); var group = splitted[0]; - var delta = TraktorS2MK2.encoderDelta(field.value, TraktorS2MK2.previous_leftencoder[group]); - TraktorS2MK2.previous_leftencoder[group] = field.value; + var delta = TraktorS2MK2.encoderDelta(field.value, TraktorS2MK2.previousLeftEncoder[group]); + TraktorS2MK2.previousLeftEncoder[group] = field.value; - if (TraktorS2MK2.shift_pressed[group]) { + if (TraktorS2MK2.shiftPressed[group]) { if (delta == 1) { script.triggerControl(group, "pitch_up_small"); } else { script.triggerControl(group, "pitch_down_small"); } } else { - if (TraktorS2MK2.left_encoder_pressed[group]) { - var beatjump_size = engine.getValue(group, "beatjump_size"); + if (TraktorS2MK2.leftEncoderPressed[group]) { + var beatjumpSize = engine.getValue(group, "beatjump_size"); if (delta === 1) { - beatjump_size *= 2; + beatjumpSize *= 2; } else { - beatjump_size /= 2; + beatjumpSize /= 2; } - engine.setValue(group, "beatjump_size", beatjump_size); + engine.setValue(group, "beatjump_size", beatjumpSize); } else { if (delta === 1) { script.triggerControl(group, "beatjump_forward"); @@ -1166,8 +1164,8 @@ TraktorS2MK2.leftEncoder = function(field) { TraktorS2MK2.leftEncoderPress = function(field) { var splitted = field.id.split("."); var group = splitted[0]; - TraktorS2MK2.left_encoder_pressed[group] = (field.value > 0); - if (TraktorS2MK2.shift_pressed[group] && field.value > 0) { + TraktorS2MK2.leftEncoderPressed[group] = (field.value > 0); + if (TraktorS2MK2.shiftPressed[group] && field.value > 0) { script.triggerControl(group, "pitch_adjust_set_default"); } }; @@ -1175,10 +1173,10 @@ TraktorS2MK2.leftEncoderPress = function(field) { TraktorS2MK2.rightEncoder = function(field) { var splitted = field.id.split("."); var group = splitted[0]; - var delta = TraktorS2MK2.encoderDelta(field.value, TraktorS2MK2.previous_rightencoder[group]); - TraktorS2MK2.previous_rightencoder[group] = field.value; + var delta = TraktorS2MK2.encoderDelta(field.value, TraktorS2MK2.previousRightEncoder[group]); + TraktorS2MK2.previousRightEncoder[group] = field.value; - if (TraktorS2MK2.shift_pressed[group]) { + if (TraktorS2MK2.shiftPressed[group]) { if (delta == 1) { script.triggerControl(group, "beatjump_1_forward"); } else { @@ -1199,18 +1197,18 @@ TraktorS2MK2.rightEncoderPress = function(field) { } var splitted = field.id.split("."); var group = splitted[0]; - var loop_enabled = engine.getValue(group, "loop_enabled"); + var loopEnabled = engine.getValue(group, "loop_enabled"); // The actions triggered below change the state of loop_enabled, // so to simplify the logic, use script.triggerControl to only act // on press rather than resetting ControlObjects to 0 on release. - if (TraktorS2MK2.shift_pressed[group]) { - if (loop_enabled) { + if (TraktorS2MK2.shiftPressed[group]) { + if (loopEnabled) { script.triggerControl(group, "reloop_andstop"); } else { script.triggerControl(group, "reloop_toggle"); } } else { - if (loop_enabled) { + if (loopEnabled) { script.triggerControl(group, "reloop_toggle"); } else { script.triggerControl(group, "beatloop_activate"); @@ -1219,19 +1217,8 @@ TraktorS2MK2.rightEncoderPress = function(field) { }; TraktorS2MK2.browseEncoder = function(field) { - // TODO: common-hid-packet-parser looks like it should do deltas, but I can't get them to work. - prev_browse = TraktorS2MK2.previous_browse; - TraktorS2MK2.previous_browse = field.value; - var delta = 0; - if (prev_browse === 15 && field.value === 0) { - delta = 1; - } else if (prev_browse === 0 && field.value === 15) { - delta = -1; - } else if (field.value > prev_browse) { - delta = 1; - } else { - delta = -1; - } + var delta = TraktorS2MK2.encoderDelta(field.value, TraktorS2MK2.previousBrowse); + TraktorS2MK2.previousBrowse = field.value; engine.setValue("[Playlist]", "SelectTrackKnob", delta); }; @@ -1255,48 +1242,48 @@ TraktorS2MK2.scalerSlider = function(group, name, value) { }; TraktorS2MK2.outputChannelCallback = function(value, group, key) { - var led_value = 0x05; + var ledValue = 0x05; if (value) { - led_value = 0x7F; + ledValue = 0x7F; } - TraktorS2MK2.controller.setOutput(group, key, led_value, !TraktorS2MK2.batching_LED_update); + TraktorS2MK2.controller.setOutput(group, key, ledValue, !TraktorS2MK2.batchingLEDUpdate); }; TraktorS2MK2.outputChannelCallbackDark = function(value, group, key) { - var led_value = 0x00; + var ledValue = 0x00; if (value) { - led_value = 0x7F; + ledValue = 0x7F; } - TraktorS2MK2.controller.setOutput(group, key, led_value, !TraktorS2MK2.batching_LED_update); + TraktorS2MK2.controller.setOutput(group, key, ledValue, !TraktorS2MK2.batchingLEDUpdate); }; TraktorS2MK2.outputCallback = function(value, group, key) { - var led_value = ButtonBrightnessOff; + var ledValue = ButtonBrightnessOff; if (value) { - led_value = 0x7F; + ledValue = 0x7F; } - TraktorS2MK2.controller.setOutput(group, key, led_value, !TraktorS2MK2.batching_LED_update); + TraktorS2MK2.controller.setOutput(group, key, ledValue, !TraktorS2MK2.batchingLEDUpdate); }; TraktorS2MK2.outputCallbackLoop = function(value, group, key) { - var led_value = ButtonBrightnessOff; + var ledValue = ButtonBrightnessOff; if (engine.getValue(group, "loop_enabled")) { - led_value = 0x7F; + ledValue = 0x7F; } - TraktorS2MK2.controller.setOutput(group, key, led_value, !TraktorS2MK2.batching_LED_update); + TraktorS2MK2.controller.setOutput(group, key, ledValue, !TraktorS2MK2.batchingLEDUpdate); }; TraktorS2MK2.outputCallbackDark = function(value, group, key) { - var led_value = 0x00; + var ledValue = 0x00; if (value) { - led_value = 0x7F; + ledValue = 0x7F; } - TraktorS2MK2.controller.setOutput(group, key, led_value, !TraktorS2MK2.batching_LED_update); + TraktorS2MK2.controller.setOutput(group, key, ledValue, !TraktorS2MK2.batchingLEDUpdate); }; TraktorS2MK2.pflButton = function(field) { if (field.value > 0) { - if (TraktorS2MK2.shift_pressed[field.group]) { + if (TraktorS2MK2.shiftPressed[field.group]) { script.toggleControl(field.group, "quantize"); } else { script.toggleControl(field.group, "pfl"); @@ -1317,7 +1304,7 @@ TraktorS2MK2.sendPadColor = function(group, padNumber, color) { } TraktorS2MK2.controller.setOutput(group, padKey + "R", red, false); TraktorS2MK2.controller.setOutput(group, padKey + "G", green, false); - TraktorS2MK2.controller.setOutput(group, padKey + "B", blue, !TraktorS2MK2.batching_LED_update); + TraktorS2MK2.controller.setOutput(group, padKey + "B", blue, !TraktorS2MK2.batchingLEDUpdate); }; TraktorS2MK2.outputHotcueCallback = function(value, group, key) { |