Mapping the Traktor Loop Recorder

Kontrol S4, Loop RecorderThe loop recorder section of the S4 controller mimics the loop recorder of the Traktor user interface one by one. The mapping commands Traktor provides make it quite easy to build a mapping for the loop recorder and use it either in a user mapping for the S4 or with any other controller.


However, there is a small problem with the Del/Undo/Redo functionality. The Traktor user interface and the S4 controller only offer one button for each of the three actions. But two different mapping commands are provided to map the functionality to the controller. The embedded mapping for the S4 controller allows access to all three actions by means of one button, without that the SHIFT button needs to be pressed. Is it possible to recreate the same behaviour in an S4 user mapping or in a mapping for another controller? Unfortunately not.

Loop Recorder, In Commands

The In Commands

The previous image shows the mapping for the In commands for the loop recorder. The mapping is quite straight forward and contains nothing special. In order to map the delete and the undo/redo functionality to the same button, you need to use a modifier. The assignment table shows that Modifier #6 is used. The modifier value can be set to 1 either with the left or right Shift button on the S4 controller. If M6 is 0, then pressing the Delete button on the S4 triggers the delete action; if M6 is 1 then the Undo/Redo action is triggered.

The embedded S4 mapping is able to check the condition even without using a Shift button. The embedded mapping can also access the status of the loop recorder as the Undo/Redo status. Both pieces of information are available in your own mapping, but only as an Out command and not as an extended modifier condition. If Native Instruments had provided both status values as modifier conditions (similar to the state values for the sample slots), we could have mapped one button like shown in the following table:

CommandButton in
User Interface
Loop Recorder StatusUndo Status
Loop Recorder DeleteDelete buttonRecorder State = 1Undo State = 0
Loop Recorder Undo/RedoUndo button Undo State = 1
Loop Recorder Undo/RedoRedo button Undo State = 2

It would then have been very easy to map all three actions to one button. I do not understand the reason why this status information is not available as modifier conditions. This would have made creating a user mapping for the S4 and for other controllers much more easy. The fact that the current implementation needs to use a Shift modifier should be known to Native Instruments, as the S4 user mapping included with Traktor Pro S4 uses the same approach.

Reflecting the current enabled/disabled Status of the Buttons

The second interesting question that arises with this mapping is, how to ensure that the current enabled/disabled status of the buttons in the user interface is reflected on the controller. This is easy for the buttons Record and Play as both buttons are always enabled in the Traktor user interface. However, for the Play button this makes no sense, as it should only be enabled if the loop recorder contains audio that can be played. To avoid confusion I’ll close my eyes and pretend that this bug does not exist: I map the out commands Loop Recorder Play/Pause and Loop Recorder Record to the corresponding LEDs on the S4 controller.

Let’s now have a look at the buttons Size and Del/Undo/Redo. Both buttons are only enabled if certain conditions are true.

The Size Button

The Size button can only be used if the loop recorder is empty. This information can be accessed with the Out command Loop Recorder State = 0. To ensure that the Size button is lit only if the loop recorder does not contain audio, add the out command Loop Recorder | State and select the S4 button Center.LoopRec.Size as target for this command. Then go to the Controller Range section and enter a zero for Min as well as for Max. This mapped command makes certain, that the LED button is lit only if Loop Recorder | State has a value of 0. The Controller Manager dialog for this command should look like this:

Mapping of Size Button

The Del and Undo/Redo Buttons

In a similar way we can control the On/Off status of the Del button. Because of the doubled functionality of the button for Del and Undo/Redo we need to output the Loop Recorder | State as well as the Loop Recorder | Undo State to this button:

The following table summarizes the information needed to implement this mapping:

LED ButtonFunctionality/
Button is active if
State Values
Button mapped toModifier
SizeSet Loop Length
Loop recorder is empty
Loop Recorder |
State = 0
Loop Recorder | State
Controller Range Min = 0
Controller Range Max = 0
Loop recorder is not
empty and paused
Loop Recorder |
State = 1
Loop Recorder | State
Controller Range Min = 1
Controller Range Max = 1
Undo function allowed
Redo function allowed
Loop Recorder |
Undo State = 1
Loop Recorder |
Undo State = 2
Loop Recorder | Undo State
Controller Range Min = 1
Controller Range Max = 2

The mapping for the Out command Undo State looks like this in the Controller Manager dialog:

Loop Recorder, Undo Status

Written by Rainer G. Haselier
Taken from Traktor 2 Bible
Last update: April 16, 2011


wrote on September 27, 2011 at 10:49
Hi. Nice post. Thanks! Would you happen to know how to store for future use the loops made with the loop recorder?
wrote on October 8, 2011 at 22:02
I am desperately trying to find a way to use the looper integrated with a traktor xone 4D rig, but the last pair of stereo channels are digital, so I can run my master into them. I’ve posted up everywhere and I figure if anyone can help you could

wrote on October 8, 2011 at 22:03
@Reyna there is adoption to save them automatically or not in settings
wrote on September 19, 2012 at 14:45
Hi guys, your website is amazing. I have a question regarding the loop recorder...

Is there anyway to pitch-bend the recorded loop? I mean working with external mode.

wrote on September 23, 2012 at 22:25

Perhaps not the right thread but I was wondering if anyone knows if there's a way to automatically/instantly load the loops into the remix-set, without having to press "play"+"browse-button", then a "sample deck-button".

Would be awesome to choose the destination before recording live-loops!!!

wrote on November 26, 2012 at 00:44
is it possible to map the source selector on the loop recorder, so i can switch from main to cue etc? if so, what is the name of the control to add it in?


Leave a comment


  E-Mail (will not be published)