Hello all, There are a lot of people asking how to create your own custom midi mapping for controllers to use with Traktor, which is why I thought to share my knowledge with you. The tutorial is not yet completely finished. I will do this over the next few days. Things that will be added are for example how to map Controller LEDs to work with Traktor. Suggestions, additions and improvements are welcome! So let's start! All the midi mapping is done is the preferences window of Traktor. I am sure you all know how to get there, but if not, click on the gear icon in the upper right corner of the screen in Traktor. Then you go to the 'Controller Manager' pane. Ih you have already downloaded a mapping that you would like to use or edit for your own needs, you can do that by clicking on the 'Import' button in the bottom left area of the preferences pane. Then you find and open the .tsi file that you want to use. After you have done this it will be available in the 'Device' box. If you want to create your own mapping from scratch you have to add a new device. To do that click on the 'Add' button directly under the 'Device' Button and select 'Generic Midi'. This will give you the blank Assignment Table which is where we are going to add all the things we want our controller to control. To get started, hit 'Add in...'. This opens up a list of features you can add to the Assignment Table. Basically everything in Traktor can be selected to add to your mapping. From the menu you select the feature you would like to add. Now that feature shows up in the Assignment Table and some settings are now available below. I will give you a rundown of all the settings, what they do and what you need to change for a certain feature. Let's start at the top. The learn button: You want to click this button to assign a knob, fader, button or encoder to a feature in Traktor. Once you hit it the button will turn yellow which indicates that the learning mode is on. Now you can turn a knob, move a fader or push a button and you will directly see that Traktor adds the midi command to the feature you are working on. When you have the right midi command press the 'Learn' button again to leave learning mode so the midi command gets locked. Now that you have selected the right midi command for our new feature, you can also enter text in the comment bar under the 'Learn' button to identify the feature or knob you have selected. Great, so now we have the knob, fader or button on the controller paired to the feature in Traktor. Now we have to tell Traktor how to 'read' the signal that comes in when you turn that knob, move that fader or push that button. For this we go further down the Mapping Details section. In the first column you will see 2 boxes named Modifier and 2 boxes named Value. For now we will skip these and start with the basics. In the next column labeled 'Type of Controller' we need to specify what it is that we use on our controller, most of the time Traktor will recognize it, but that is not always the case. If it is a button that you hit you select 'Button' naturally. For a fader or a knob that has two end points (a knob you can not keep turning endlessly), you select 'Fader / Knob'. And finally, for a knob that you can turn endlessly you select 'Encoder'. Now we need to tell Traktor how the feature we are mapping should be changed when we give a control input. Depending on the type (Button, Fader / Knob or Encoder), and depending on the feature you are mapping, there will be a few options in the box labeled 'Interaction Mode'. Let's start with the options you get when you have mapped a button to a software feature that has two options, off or on. For example the monitor cue button. -Toggle: This will toggle the mapped feature in the software on or off when you hit the button on your controller. -Hold: This will turn on the feature in the software when you are holding the button pressed. If we take the monitor cue button for example, cue will be on for as long as you hold the button on your controller. -Direct: This will set the software feature to either 0 or 1, meaning off or on, 'clicked' or 'not clicked' when you press the button. You can now also set the value (0 or 1) in the box in the Button Options section. You can also control software faders or software knobs with buttons on your controller. If you map a software feature like this, you will get different options in the 'Interaction Mode' box: -Direct: This will set the software feature to a certain value when you hit the button. You can set the value below. -Inc: This will increase the value of the software feature by a certain amount when you hit the button. How much the feature is affected, can be selected in the 'Resolution' box. -Dec: Does the same as 'Inc', only now the software feature will be decreased by a certain amount when you hit the button. You can again edit the Resolution. -Reset: This will reset the knob or fader to the original value. These is about everything you will encounter when mapping a button to a software feature. Now we will have a look at the settings when mapping a 'Fader / Knob'. Naturally you map a fader or knob on your controller to a software fader or a software knob. It is very unusual to map a hardware fader or knob to a software feature that can only have two values, 0 or 1, so I will not look into that. Here you will only have two options, 'Direct' and 'Relative'. 'Direct' will set the software feature to the same value the hardware fader or knob has. A midi fader or knob has a sensitivity of 127 values. This means that when we look at a hardware fader for example, when the fader is completely down the value it sends will be 0 and when the fader is completely up it will send a value of 127. As I just said, moving or turning the hardware fader or knob will give the software feature the same value. The 'Relative' setting will only look at the value change, not at the position or exact value. For example if you move a fader up a tiny bit, let's say from a value of 100 to a value of 102, Traktor will only 'read' the change of that value so it will change the value of the software feature by 2 as well. Then we have the 'Soft Takeover' box below if we have used the 'Direct' setting. If you tick this it will prevent sudden changes to software features. Let me give you an example: Let's say you mapped your hardware fader to the software volume fader of a certain deck. You move the hardware fader all the way down (value 0), so the software fader will also be completely down. Now you use your mouse to bring the fader up, let's say all the way to the top. What has happened now, is that your hardware fader is still at value 0, but the software fader is at value 127 because you changed it with the mouse. No harm done till now, but when you now move the hardware fader the troubles arise. As soon as you start moving the hardware fader, the value will change from 0 to 1. Traktor will pick up that signal and will read the value 1 and now the software fader will go to 1 immediately. This jumping of the fader from the top to the bottom goes very fast and is not a pleasant thing to hear. The same goes if it were the dry/wet button of an effect for example. The solution for this is the 'Soft Takeover'. When it is ticked, Traktor will behave differently. Let's go back to our example. The hardware fader is at value 0, the software fader is at value 127. Now when you move the hardware fader and the value goes from 0 to 1, Traktor will compare the value of the hardware fader to the value of the software fader. When the values are not the same, Traktor will not edit the software feature until the same value is reached on the software and hardware fader which is a nice safety feature to prevent faders jumping around.