Christian Dolenga
3. Practical Implementation
Here's where the fun (or the pain, depending on nerd-level) begins!
The following are examples of the sheer endless possibilities a MIDI-spitting console allows us to
explore. I'll demonstrate the procedures in REAPER (because EVERY command, basic or
compound, can "learn" a MIDI input) and Bome MIDI Translator Pro (BMTP), for which I offer my
custom programmed presets. Make sure to have the latest SWS Extensions installed for REAPER!
3.1. Bome MIDI Translator Pro
I use BMTP as a middle man between the my MIDI ports that are connected to the CS2000's
MIDI ports and my DAW. In BMTP I select the MIDI inputs, and route them to the "Bome
MIDI Translator Virtual Out". In REAPER, I select "Enable input for control messages", but
leave "enable input" unchecked. I don't want to use the CS2000 as a track input...
In BMTP you can create different presets, than can either be persistent or switchable. I
created 6 different presets that I switch with the 6 "special keys" on the DSC. They, of
course, cancel each other out. Alongside I have several presets that I want to be active
permanently, such as my translators for the record arm keys, or the preset that allows me to
switch the other 6 presets in the first place.
I made a an entire BMTP Project containing all the presets I made for the console, which I'm
gonna share on the Euphonix User Group Facebook page. Since it refers to my MIDI setup, it
would be best if you copy all the presets from my file, create a new one with your MIDI
routings, and then paste the presets into your new project.
Inside those presets are my translators. There can be as many "translators" as you want. A
translator basically reacts to a given message (Keystroke, MIDI, timers from other
translators or even RS232 messages) and either transforms it to something different,
swallows it (the message doesn't reach the receiver), or evaluates it and sets variables
accordingly and performs arithmetic operations with them. For our purposes, we'll need
those variables a lot...
Please refer to the manual of BMTP for further guidance. Or just use my presets, you lazy
ba...
3.2. Track Arming
I made a preset in BMTP that scans the incoming SysEx message on each track-specific bit
and assigns its value to its own global variable. Depending on the state of that variable, the
48 MIDI messages that are sent contain either a unique Note with velocity 127 on MIDI
channel 2 for "on" or on MIDI channel 3 for "off". I didn't want to pollute channel 1 with
those messages, because they would mess up my other mappings.
Since REAPER doesn't have a command to specifically arm or disarm tracks, only to toggle
between the two states (which inevitably will result in mismatches between lit keys on the
DSC and actually armed tracks), I searched for a script that first checks the state of the track
before toggling it:
Euphonix MIDI capabilities
Revision 1
Need help?
Do you have a question about the CS Series and is the answer not in the manual?