Here are my modifications to the original script. I have listed only the changed functionality below. I have tested the script thoroughly with the Late Night skin but I don’t know how it will work with other skins. I hope this is helpful for others – many many thanks to Craig for the original script, I just wanted something more specific to the way I mix.
I completely rewrote the effect handling because I wanted direct control over the parameters. Both sides (left and right) call the same functions, giving you direct control over any two of the four effect banks at any given time. All four effect banks can be assigned to any of the four decks.
The four effect buttons are used to select an “active” bank; the knobs and assign buttons then control the active bank. Pressing a button selects that bank as “active”; holding the button functions as “FX Shift” (“FXS”), which has two uses:
FXS+BrowseL/R changes the assigned effect chain in the selected bank.
FXS+Knob changes knob behavior (see below).
FX Assign 1 turns the active bank on/off for the current channel.
FX Assign 2 can be used to turn the other banks on/off for the current channel by holding Assign 2 and pressing the bank select button (useful if you just want to turn a given bank on/off without changing the bank you are actively controlling)
The right-most knob on each side is mapped to Quick Filter. The other three knobs (1-3 from left to right) control various parameters as follows:
K1-K3 = parameters 1-3
FXS+K2 = parameter 4
FXS+K3 = wet/dry mix
FXS+K1 = pre-fader gain
All knobs are coded for soft takeover because engine.setParameter() does not currently support the default soft takeover behavior.
The active selected bank blinks blue. Other banks that are “on” have solid blue lights; banks that are “off” have orange. If the active selected bank is turned on, FX Assign 1 lights blue.
Other Changed Functionality
Scratching when scratch button is on (blue), jogging when scratch button is off (orange).
If scratch button is on (blue), DEL+Wheel will engage scratch but not disengage, which allows for manual spinbacks and other wheel throws. Hard to describe, but pretty obvious if you try it out: turn on scratch, hold DEL, touch the top of the wheel and then give it a decently hard spin. Tap the top surface of the wheel to resume playing the track.
Track Loading: DEL+Load ejects the track.
Brake: DEL+FX Assign 2 brakes the deck. (I know this is a weird combo – originally I mapped this to DEL+Play but I had some unfortunate mishaps where I forgot to hold the button and decided that it needed to map onto a button with no other transport functionality.)
Quantize: DEL+Keylock turns Quantize on/off (no light indicator on CMD Studio 4a, so you need to check the skin)
Functions removed: Slip mode, repeat, beat grid adjustment
Behringer-CMDStudio4a-abie-scripts.js (26.3 KB)
Behringer CMDStudio4a-abie.midi.xml (128 KB)