DJing Discussion
How to edit MIDI output with a text editor
This area is for discussion about DJing in general. Please remember the community rules when posting and try to be polite and inclusive.
How to edit MIDI output with a text editor


Karl Y
8:36 PM - 17 July, 2013
Hey mapping nerds :D
When creating controller mappings with MIDI output, Scratch Live writes a standard value to the XML which suits most controllers for LED feedback.
But if you want to achieve different colors, e.g if you have multi colored pads, or if your controller expects "Control Change" Messages instead of "Note On" / "Note Off", you can alter your MIDI XML manually.
Get a text editor, e.g. TextWrangler for Mac (www.barebones.com)
or Notepad++ for Windows (notepad-plus-plus.org)
Open an existing mapping XML file, located in ~/_Serato_/MIDI/ with a text editor.
You will see a lot of Output blocks at the bottom of the file.
Here's a standard output mapping code fragment, which i will explain in detail:
<Output name="Key Lock Button A" >
<Off channel="1" event_type="Note Off" control="75" value="0" />
<On channel="1" event_type="Note On" control="75" value="127" />
</Output>
This fragment will light up an LED whenever Key Lock for the left deck is engaged.
In this case, Key Lock will switch the LED which reacts to
- Note 75,
- on Channel 1
But there is more to it.
First Step:
If you want the on-value to be something different, e.g. for a multi colored pad, then what you need to change is:
<Output name="Key Lock Button A" >
<Off channel="1" event_type="Note Off" control="75" value="0" />
<On channel="1" event_type="Note On" control="75" value="42" />
</Output>
where 42 is an example value. The actual value depends on your controller, please refer to your hardware manual.
Second Step:
If you want the off-value to be something different, e.g. for a pad which supports more than one brightness, then what you need to change is:
<Output name="Key Lock Button A" >
<Off channel="1" event_type="Note On" control="75" value="100" />
<On channel="1" event_type="Note On" control="75" value="127" />
</Output>
where 100 is an example value. Note that the event_type has changed to "Note On" for the off state. The actual values may need to change depending on your controller. Again, please refer to your hardware's manual.
Third Step:
If your hardware's buttons send and receives Control Change messages instead of Notes, then what you need to change is:
<Output name="Key Lock Button A" >
<Off channel="1" event_type="Control Change" control="75" value="0" />
<On channel="1" event_type="Control Change" control="75" value="127" />
</Output>
Once again, the actual values may need to change depending on your controller. Again, please refer to your hardware's manual.
I also suggest you have a look at the Novation Launchpad mapping, which is multi colored and contains code examples for most cases.
Cheers
Karl Y
When creating controller mappings with MIDI output, Scratch Live writes a standard value to the XML which suits most controllers for LED feedback.
But if you want to achieve different colors, e.g if you have multi colored pads, or if your controller expects "Control Change" Messages instead of "Note On" / "Note Off", you can alter your MIDI XML manually.
Get a text editor, e.g. TextWrangler for Mac (www.barebones.com)
or Notepad++ for Windows (notepad-plus-plus.org)
Open an existing mapping XML file, located in ~/_Serato_/MIDI/ with a text editor.
You will see a lot of Output blocks at the bottom of the file.
Here's a standard output mapping code fragment, which i will explain in detail:
Quote:
<Output name="Key Lock Button A" >
<Off channel="1" event_type="Note Off" control="75" value="0" />
<On channel="1" event_type="Note On" control="75" value="127" />
</Output>
This fragment will light up an LED whenever Key Lock for the left deck is engaged.
In this case, Key Lock will switch the LED which reacts to
- Note 75,
- on Channel 1
But there is more to it.
First Step:
If you want the on-value to be something different, e.g. for a multi colored pad, then what you need to change is:
Quote:
<Output name="Key Lock Button A" >
<Off channel="1" event_type="Note Off" control="75" value="0" />
<On channel="1" event_type="Note On" control="75" value="42" />
</Output>
Second Step:
If you want the off-value to be something different, e.g. for a pad which supports more than one brightness, then what you need to change is:
Quote:
<Output name="Key Lock Button A" >
<Off channel="1" event_type="Note On" control="75" value="100" />
<On channel="1" event_type="Note On" control="75" value="127" />
</Output>
Third Step:
If your hardware's buttons send and receives Control Change messages instead of Notes, then what you need to change is:
Quote:
<Output name="Key Lock Button A" >
<Off channel="1" event_type="Control Change" control="75" value="0" />
<On channel="1" event_type="Control Change" control="75" value="127" />
</Output>
I also suggest you have a look at the Novation Launchpad mapping, which is multi colored and contains code examples for most cases.
Cheers
Karl Y