In the last article we began looking at Traktor’s Controller Manager and specifically the top half of the interface. In this article we are going to look at the lower section of the Controller Manager as it is this section which defines how Midi commands are implemented. For me, understanding this section was half the battle in getting to grips with how Traktor managed midi interactions. So let’s get stuck right in!
The Device Mapping section is where we will specify which button, knob or fader we wish to assign our Midi command to. The Learn button makes it very easy to tell Traktor which button, knob or fader we want use. Select Learn (it should be highlighted in orange) and then press the button, turn the knob or move the fader.
The value in the box to the left of the Learn button will then display the appropriate Midi channel, message type or note number for the button, knob or fader you just selected. Click Learn once more to turn it off and the button will be live, allowing you to test whatever you have mapped to it.
You can select Learn at any time, hit a button, knob or fader and override the existing setting. You can select Reset to clear the value altogether. The Comment field is optional but I recommend using it to briefly describe what you have mapped. The more complex your mapping becomes, the more the comments will help.
Tip: If you wish to learn more about Midi, especially in the context of Traktor, I recommend the Traktor Bible.
I am again going to skip over Modifier Conditions and will come back to this in a future article. What I will say for now is that they are nothing to be afraid of. They are often poorly explained either by people who don’t understand them or those who understand them so well that they have difficulty simplifying the concepts for the beginner. It is yet to be determined which camp I will fall into…
In the the Device Mapping section we told Traktor which button, knob or fader to use in order to trigger a command. In the Mapping Details sections well will tell Traktor what kind of input it is receiving and what to do when it receives that input. For the purpose of this article we are going to focus solely on the MidiFighter’s buttons which means that Type of Controller will always be set to Button.
With some experimentation you will soon begin to see how you can use Knob/Fader or Encoder as other types of controller. You will notice that the Type of Controller selected may change what kind of Interaction Mode options are available.
The Interaction Mode was the most confusing setting of all to begin with. As I have said before, there are a good number of Traktor Midi mapping videos and articles available online but few discussed what each of the interaction modes are and how they can be deployed.
Interaction Mode – Toggle changes the state of the button each time it is pressed. An example of two states might be On (state 1) and Off (state 2). Press the button once to turn something on, press the same button again to turn something off. In Traktor we might also use this mode for a Play/Pause button. Pressing the button once will Play a track (state 1) and pressing the button again will Pause the track (state 2).
Interaction Mode – Hold will execute a command for as long as the button is held down. A good example of using Hold would be for the Cue button. A track will continue to play as long as the button is held down. Hold comes in very handy when using modifiers as it allows you use a button like a Shift button on a keyboard.
Interaction Mode – Direct tells Traktor to set something to a specific value when the button is pressed. For instance, you could use direct to change a parameter on an effect. FX parameters in Traktor range from 0 (off) to 1.000 (max). In this example, setting the Direct value of a button to 0.500 will cause the FX parameter to be set to half way once the button is pressed. The values that can be set for Direct will be determined by the Midi command you use and the Type of Controller selected.
It’s worth noting that you can frequently mix and match control types. For instance, you could use a button to control a knob or fader. If Traktor makes it available as an option, you can use it. Having said that, there can be multiple ways to map a control with some working better than others.
Interaction Mode – Increase works in two different ways depending on which command it is being used with. In the example above we used Direct to set a parameter to specific value (ie pressing the button turns FX parameter 1 to half way). Let’s take that same FX parameter but this time we’ll lose Direct and use interaction mode Increase instead. By doing this we tell Traktor to increase the value of the FX parameter each time we press the button. How much the value is increased is dependent on what we set in the Button Options section of the Controller Manager. We’ll cover that in the next section. Increase is a great option for controls like volume, EQ, Filter, FX etc…
Interaction Mode – Increase can also perform navigation functions. In Traktor’s Browser mode the Increase button can be used for List Select Up/Command to move the highlight bar down a line at a time. It could also be used with List Select Page Up/Down to move the highlight bar down a page each time the button is pressed. It may seem odd that Increase moves the bar down, not up (at least it did to me to begin with) but Traktor defines the top row as zero (or maybe one) and then increments the number for each row after that.
Interaction Mode – Decrease works identically to Increase only in reverse. Decrease and Increase also work well in situations where you need to reduce a value for items like loop length.
Interaction Mode – Reset is used to set the value of a command back to its default value. We can use the FX parameter example again. Let’s say we mapped Button A to Increase the value of the FX parameter. We also mapped Button B to Decrease the value of that same FX parameter. Once Button A has been pressed a given number of times it will reach the parameter’s top value of 1.000 (i.e. turned as far as it can go). The Decrease button would enable us to reduce the value of the parameter each time we pressed it but we could set up a Reset button to take the parameter back to 0 with a single press. So, Reset is great to use when you want to reset the value of a particular control one action. Think Filters, EQs, FX or even getting to the top line of the Browser window.
Interaction Mode – Trigger simply triggers or executes a command one time. Where as Toggle switches between state 1 and state 2, pressing Trigger executes state 1 every time it is pressed. Trigger also doesn’t care how long you hold it down for, it only executes once. An example of where you would use Trigger would be the Load command. Press the button once and it loads the selected track into the specified deck. Select a different track, press it again and it loads the new track into the specified deck. If you didn’t move the highlight bar Trigger would simply load the current track again and again, each time the button is pressed.
In the figure below can see a brief summary of each interaction mode.
At this point we have selected a Midi command to execute, determined which button will execute that command and the behavior of that button when it is pressed. The assignemnt drop-down box simply lets us specify where the command should be executed. The command being used will determine which of the following options are available in the drop down.
Assignment – Global will work with commands that are not Deck or FX unit related and will generally change a setting that affects Traktor in general.
Assignment – Device Target will send the command to whatever Deck is specified in the Device Target drop down in the Device Setup section at the top of the Controller Manager.
Assignment – Deck A-D will send the command to the specified deck.
Assignment – Preview Player will send the command to the Preview Player
For the purpose of this article I am only going to cover a few of these options. Once you understand how these work you will quickly find yourself exploring the other options. In general, Button options allow you to fine tune how the Interaction Mode works. They are context specific which means that the options that can be changed will be dependent on the Type of Controller and Interaction type selected.
Button Option – Auto Repeat will auto repeat a command for as long as a button is pressed. Unlike Hold where a command is sustained or persisted for as long as the button is pressed (think Cue button), Auto Repeat will issue the command in quick repetition. Let’s go back to the FX parameter example. Again, we have mapped Button A to Increase the value of the FX parameter and Button B to Decrease the value of that same FX parameter. Without the Auto Repeat option selected, the value will be increased only once, no matter how long we hold the button down for. If we select the Auto Repeat option then the command will be be executed repeatedly as long as the button is pressed. We can go from 0 to 1.000 in without having to press the button again and again.
Button Option – Resolution determines the how many times a command has to be issued to go from 0 to max. There are five settings; Min, Fine, Default, Coarse and Switch. I am using the FX parameter example again and the following values are a little rough as I had to count the number of button pressed required to go from 0 (off) to 1.000 (max).
- Min 250 presses
- Fine 70 presses
- Default 16 presses
- Course 8 presses
- Switch 2 presses
Using a resolution like Min or Fine will provide a much greater level of control on the target setting. If you want to be able to move that FX Parameter up or down very slightly then these are the settings you should be looking at. If you were to use that Increase button with Auto Repeat selected and wanted to go from 0 to 1.000 you would need to keep the button pressed for far longer than if you had Default or Course selected. If you were looking to create more of a more cutting style you might select Coarse or even Switch that would enable you to move very rapidly up and down the range.
Invert is an option I have no yet spent much time with. I will cover this in a future article, as and when I need to use it.
Having spent some time with just a few basic commands and using only the button type as the controller type it is clear that Traktor provides the capability to map almost anything you might need.
It’s tempting to just wade into the 200+ commands that are available, but without knowing how all the settings and options described here impact the deployment of those commands, you are going to limit how much you can achieve with them. As I have said before, Traktor’s Controller Manager isn’t the most intuitive interface for designing your own mappings but it does enable you to do everything you could need to.
In the next article I will show you how to put together a basic mapping for the MidiFighter. We will look at implementing some of the commands I have discussed here as well as setting and triggering hot cues. What I cover in that article will be applicable to any button/pad based controller.
Check out the other parts in this series:
- Diary of A Novice Midi Mapper, Part 1 – Getting Started
- Diary of A Novice Midi Mapper, Part 2 – Basics of Controller Manager in Traktor
- Diary of A Novice Midi Mapper, Part 4 – Basic Mapping for Hot Cues
- Diary of A Novice Midi Mapper, Part 5 – Mapping Effects
In putting these articles together I have used the Native Instruments Kontrol S4 running Traktor Scratch Pro 2; the DJTechTools MidiFighter; Samsung RF-510 Laptop; and The Traktor Bible by Rainer Haselier.
Have you got tales of hardship and triumph grappling with Traktor’s Controller Manager? Is this inspiring you to map your own Midi devices? Have you mapped in other software like Virtual DJ? We’d love to hear your thoughts in the comments.