S4MK3 & S3: Performance MOD (qml coding)
NEW: Traktor 4 - Flexible Beatgrid and additional Stem Deck support!
(S4MK3: qml coding projects) S3-variant found below.
I thought the S4Mk3 could use some coding love, adjusting only a few bits and pieces to work out some kinks and adding small extras. The mods listed here are supposed to be small and easy to implement qml-mods to address a few needs of those who are not satisfied with the basic version.
Any ideas, small enough to easily implement, are welcome; feedback is appreciated.
Before applying any of the ideas and files i am hoping to collect in this thread, make sure to make a safety copy of the complete qml-folder of the Traktor software, so you have the original files as a fallback in case of, you know, failure. After that, all the files contained in the archive replace the original files.
S4MK3 Performance Mod TP3.11.1 - Version 13 & TP4.1.0 - Version 6:
Deck Transport Features:
- SHIFT+Play: Activate Vinyl Break, the length of which is calculated using the inverse of the jog wheel haptic tension. Vinyl Break will automatically deactivate Sync to work correctly.
- Jogwheel: Motor (and LED turning) stops temporarily when the jogwheel is used for loop or Tension adjustment. Turning LED now also active when cuing.
- Sync Button: Sync Tap: Sync Toggle (On/Off). Sync Hold (>0.2sec): Deactivate Sync (Off). Tempo is reset to +/- 0%.
- Sync Button: (Alternate Function) Sync Tap: BPM is set to Master BPM aka TempoSync. Sync is not activated. If Sync is already active it will be turned off. Sync Hold (>0.2sec): Sync Toggle. If Sync status is released, Tempo is reset to +/- 0%.
- Sync LED Feedback: BRIGHT when Sync is activated. - CYAN (Tempo & Phase in sync, both with tiny error margins for beat juggling), - YELLOW (Tempo in sync but out of phase), RED (not in sync & out of phase)
- Master Tap: Deck TempoMaster toggle (ON/OFF).
- Master Hold (>0.2sec): Master Clock AUTO toggle. Also sets internal clock to be master clock.
- Master LED Feedback: BRIGHT CYAN (deck is TempoMaster), - YELLOW (Master Clock AUTO is not active, deck is not TempoMaster), RED (Master Clock AUTO is active, deck is not TempoMaster)
- On-Cue Feedback: Cue Button LED and PLAY Button LED can be set to CDJ CueBlinker-Style (see below).
Deck GUI/Colours:
- Hold DECK (A, B, C or D) + Move Enc Turn (Push): Cycle through all 17 deck colours. Also cycles through the NI-designed waveform colours at the same time, from Red at the low end to White at the high end. The adjustment hard-stops at the left end (Red) and the right end (White). Push Encoder to reset.
- Hold DECK (A, B, C or D) + Loop Enc Turn (Push): Cycle through waveform colours (only). From white at the high end, the S4 uses my custom designs (and adapted designs), beginning with X-Ray (for White), over Infrared, Ultraviolet, Denon SC5000/SC6000 Prime (Blue/Green), Pioneer CDJ-2000 Nexus 2 (Red/Blue) to Pioneer CDJ-3000 (Blue/Yellow).
- Hold DECK (A, B, C or D) + Browse Enc Turn (Push): Adjust Traktor GUI waveform zoom factor. Push Encoder to reset to -0.75
Stem Deck Features (Traktor Pro 4+ version only):
- Pads 1-4 LEDs (Mute Toggles): LEDs will now blink when MUTE is activated so you don't have to rely on the LED brightness to know if MUTE is active or not.
- SHIFT (Hold) + Pads 1-4: Reset Filter and Volume/Mute (WHITE)
- SHIFT (Hold) + Pads 5-8: Toggle FX Send (ORANGE)
Track/Stem Deck Features:
- Rec: Loop-In
- Mute: Loop-Out
- Jogwheel Turn: (while in active Loop) hold Rec or Mute (or both) to adjust Loop-In or Loop-Out (or both) with the Jog Wheel. Turn slow for precision adjustment, fast for accelerated adjustment. Jogwheel LED turns GREEN while in an active loop.
- Loop/Move Encoder Turn: (while in active Loop) hold Rec or Mute (or both) to adjust Loop-In or Loop-Out (or both) by exactly 1 beat.
- SHIFT+Move Encoder Push: Triggers Re-Loop. It's mechanically Cue Play (CUP) with an added Loop Active trigger if the targeted active cue is a loop cue. Behaviour depends on your CUP settings. Set in 'Preferences➔Transport➔Cue Play (CUP Mode)'.
Track/Stem Deck Beatgrid Features:
- Grid: Also doubles as Beat-Tap to adjust the beatgrid on the fly (RED colouring, OFF if GridLock is active)
- SHIFT+Grid: Toggles GridLock (WHITE colouring).
Track/Stem Deck Beatgrid Features (Traktor Pro 4+ version only):
- Grid (Hold) + Master: BPM /2
- Grid (Hold) + Sync: BPM x2
- Grid (Hold) + Move (Push): Delete current gridmarker
- Grid (Hold) + Loop (Push): Set gridmarker at current position
- Grid (Hold) + Move (Turn): Nothing (Go to previous/next gridmarker, via mapping file [see below])
- Grid (Hold) + Loop (Turn): Adjustment of current gridmarker's BPM (very fine)
- Grid (Hold) + Jogwheel (Touch Platter) + Jogwheel (Turn): Adjust postition of current gridmarker
- Grid (Hold) + Jogwheel (Turn): Adjustment of current gridmarker's BPM (coarse)
Track/Stem Deck Hotcue Features (Traktor Pro 4+ version only):
- PadMode.Hotcue (Hold) + Pads 3+4: Jump to previous/next Hotcue
- PadMode.Hotcue (Hold) + Pads 5-8: Remap Hotcue type (Load, Fade-In/Out, Hotcue
- SHIFT(Hold) + PadMode.Hotcue (Tap) + Hotcue: Remap Hotcue to new number
Remix Deck Features:
- Rec: Activates Step Sequencer (Red LED), toggles recording function (Red Blinking LED).
- SHIFT+Rec: Deactivates Step Sequencer and recording function.
- SHIFT+Loop Enc Toggle: Deactivates Step Sequencer and recording function as well as toggling Quantize function (which btw. doesn't work when the Step Sequencer is active).
- Mute (Hold) + Pads 5-8: FX Send toggle (Traktor Pro 4.+ version only)
Mixer Channel Features:
- Ext Button: Cycles through all deck types, as long as the corresponding deck is not playing (Track Deck ➔ Remix Deck ➔ Stem Deck ➔ Live Deck ➔ Track Deck).
Browser Features:
- Preview Button: Can be used both in HOLD as well as TOGGLE modes. As long as the Preview Player is loaded, the Browse Encoder seeks through the track. Loading a track into a deck will now also unload the Preview Player.
- View Button: HOLD button to use as SHIFT for Browse Encoder only, as well as TOGGLE browser view.
- Jogwheel (+LED Ring): Option to scroll through playlist while in browser view and not using TT-Mode can be activated (see below). Jogwheel LED turns white. Special LED animation when track is loaded into deck.
- Browse Encoder (Tap < 1 second, on release): Load primary mode [Track or Stem] (Traktor Pro 4+ version only)
- Browse Encoder (Hold > 1 sec, on release): Load secondary (previously double click) mode [Track or Stem] (Traktor Pro 4+ version only)
FX Features:
- SHIFT+FX Buttons: Cycle through modes (Single➔ Group➔ Pattern Player➔ Single), Cycle through effects and kits. This works exactly like the SHIFT overlay of the X1MK3.
Screen Features:
- Top Rows: Display of all elements is bigger and brighter. Loop blink is less jarring.
- Bigger BPM display. Also changed places with Time display (not shown on picture).
- Artist name and original track bpm display visible while holding down SHIFT.
- Phase-Meter Pop-Up: Appears on unsynced slave decks when the tempo phase is changed in any way.
- Jog Wheel haptic tension Pop-Up: Appears when the value is changed.
- Loop Size Pop-Up: Appears when Loop-In and Loop-Out markers are manually adjusted.
- Stripe: Alternate waveforms available (see above).
Customize Alternate Functions:
- SHIFT+MixerFX Button 1: Toggles CDJ-style Cue & Play button LED blinkers. CDJ-style Cue button LED blinker is in Yellow (for the CDJ colour coding).
- SHIFT+MixerFX Button 2: Toggle alternate Sync Button functions.
- SHIFT+MixerFX Buttons 3+4: Manually adjust Pop-up Duration (for all pop-ups) from 1 to 4 seconds (Dec/Inc).
- SHIFT+MixerFX Filter: Toggle Jogwheel-Browsing (when browser is set to full screen)
- SHIFT+Lower Deck (A or B) Button: Toggle Screen Output Override. This will stop all screen output coming in and increase frame rates of the Traktor GUI and the frame rates of any other connected controller with a screen like for example a pair of D2's. Now it shows the Traktor Logo.
- SHIFT+Lower Deck (C or D) Button: Toggle alternate Loop Active Display on screen.
Settings will be saved between sessions.
Links:
Load this modified default S4MK3 mapping file (and delete the old one) to make use of the command 'Jump to next/pervious gridmarker'. Also includes a modifier skeleton for you own mapping use that recognizes SHIFT and DECK layers in the following manner:
- Modifer#1 = 0: Deck A
- Modifer#1 = 1: Deck A (shift layer)
- Modifer#1 = 4: Deck C
- Modifer#1 = 5: Deck C (shift layer)
- Modifer#2 = 0: DeckB
- Modifer#2 = 1: Deck B (shift layer)
- Modifer#2 = 4: Deck D
- Modifer#2 = 5: Deck D (shift layer)
The X1MK3-BrowserMod (found HERE) is fully compatible with this mod.
If you enjoy this mod as much as i do, please consider supporting me. 🦋🎧
…
For all users of the Traktor Kontrol S3, here is a variant of the Performance Mod below, stalwartly adapted by @pixel.
Check it out:
S3 Performance Mod V10.2.0:
"I have updated my files (Traktor Kontrol S3)" 😃
Deck features:
- Jogwheel Beatcounter LED
- VinylBreak (SHIFT+PLAY)
- Jogwheel LED PhaseMeter (SHIFT+DECK+MOVE_TOUCH+LOOP_TOUCH)
- DeckUnload (only at deck stop) (SHIFT+GRID+LOOP_TOUCH)
- scratchBlink (play button)
- Sync Tap: BPM is set to Master BPM aka TempoSync. Sync is not activated. If Sync is already active it will be turned off.
- Sync Hold (>0.2sec): Sync Toggle. If Sync status is released, Tempo is reset to +/- 0%.
- Sync LED Feedback: BRIGHT when Sync is activated. - GREEN (Tempo & Phase in sync, both with tiny error margins for beat juggling), - LIME (Tempo in sync but out of phase), RED (not in sync & out of phase)
- (SHIFT+Sync) Tap: Deck TempoMaster toggle (ON/OFF).
- (SHIFT+Sync) Hold (>0.2sec): Master Clock AUTO toggle.
- (SHIFT) Sync LED Feedback: BRIGHT GREEN (deck is TempoMaster), - LIME (Master Clock AUTO is not active, deck is not TempoMaster), RED (Master Clock AUTO is active, deck is not TempoMaster)
- Hold DECK (A, B, C or D) + Loop Encoder (Turn): Adjust GUI zoom factor. (Push Encoder) to reset to -0.75
- Hold DECK (A, B, C or D) + Move Encoder (Turn): Cycle through all 17 deck colours! (Push Encoder) to reset.
Track/Stem deck features:
- Loop-In: (SHIFT+GRID) (GRID button (lights up, Color Green))
- Loop-Out: (SHIFT+JOG) (when loop active: (JOG, GRID button flashes Green))
- Jogwheel Turn: (while in active Loop) hold (SHIFT+GRID) or (SHIFT+JOG) (or both) to adjust Loop-In or Loop-Out (or both) with the Jog Wheel. Jogwheel LEDs turns green.)
- Move Encoder Turn: (while in active Loop) hold (SHIFT+GRID) or (SHIFT+JOG) (or both) to adjust Loop-In or Loop-Out (or both) by exactly 1 beat.
Mixer channel features:
- DeckTypeSwitch (Deck: A,B,C SHIFT+EXT) Cycles through 1-3 deck types, as long as the corresponding deck is not playing (Track Deck ➔ Remix Deck ➔ Stem Deck ➔ Track Deck). (Deck: D SHIFT+EXT) Cycles through all deck types, as long as the corresponding deck is not playing (Track Deck ➔ Remix Deck ➔ Stem Deck ➔ Live Deck ➔ Track Deck).
- Switch MIC D - LINE (EXT) (automatically switches Deck D type to Live Input)
Browser features:
- Preview Button: Can be used both in HOLD as well as TOGGLE modes. As long as the Preview Player is loaded, the Browse Encoder seeks through the track. Loading a track into a deck will now also unload the Preview Player.
- View Button: HOLD button to use as (SHIFT) for Browse Encoder only, as well as TOGGLE browser view.
- SHIFT+View: Toggle original Jogwheel behaviour (i.e. Jogwheel does not scroll playlist, has White colour, turns when track is playing and allows pitchbending and scratching). Setting will be saved between sessions.
- Jogwheel Browsing (VIEW-JOGWHEEL) (Big Jumps (VIEW)-(SHIFT+JOGWHEEL))
FX features:
- Assign the FX devices to the respective deck
- Activate a deck on each side (A-C, B-D), hold Shift and start the assignment, the button of the activated deck flashes, the FX Select buttons 1-4 take on the color of the deck, select this by pressing Shift + FX 1-4, the activated assignment starts flashing
- Activation of FX mode
- Press Shift+Filter(white) button, if FX mode is active the filter button flashes, press FX Select 1-4 for device mapping the selection lights up
- You can choose between single (blue) and group (dark orange) mode by pressing the filter button
- To exit FX mode press Shift+Filter
- The respective On button and the control above it correspond to the respective order of the device
- Control of the selection boxes for the FX device
- To select the respective Select Box, hold down the respective On button and turn the browser encoder to navigate
- FX Snapshot (Save & Load)
- Load, press and hold the (ON[A] button), the active FX select button turns Green and press the button (if successfully: FX select button turns single or group color)
- Save, press and hold the (ON[B] button), the active FX select button turns Red and press the button (if successfully: FX select button turns single or group color)
- FX Stop All Activ Loops
- StopAllLoops, press and hold the (ON[C] button), the active FX select button turns Plum and press the button (if successfully: FX select button turns single or group color)
- FX (lfo Reset)
- lfoReset, press and hold the (ON[D] button), the active FX select button turns Yellow and press the button
- Play mode activation and active
- To assign the device, select FX button 1-4, press and hold the desired button to activate- all on buttons turn green
- To exit Play Mode, press the active FX Select button
- To stop and start the recorded loop, press the desired green On button, if it is active it lights up
- When a loop is active, amount is disabled, except in record mode
- Rec mode and recording
- To activate Rec mode, press and hold the desired On button (1-4) while you are in Play mode, it will turn red
- To start the recording, select the respective On button, it flashes and turn the amount. To finish, press the On button again, the recording starts automatically in a loop, If you hold down the ON button to exit, you will return to play mode
- To end the recording function, press and hold the respective on buttons; they will turn green again (Play mode)
- You can always start recording again, the running loop will be stopped
!!! During all this you can also switch between the individual devices with FX Select 1-4!!! When you have left Play mode, the respective On button flashes!!! If FX 3-4 is disabled, select 4 FX units in the Traktor software!!! If you switch between single and group mode or change the select fields while a loop is active, it will stop automatically!!! The FX Mod Color Scheme (Single, Single2Color(Reset), Group, Group2Color, Play, Rec, lfoReset, Load Snapshot, Store Snapshot, Stop loop) can be changed in file FourChannelFXSelector.qml [lines: (from: 190 to: 201)]
Other changes:
- MixerFX 4 colour changed from YELLOW to LIME (better visibility and difference to Filter's LIGHTORANGE).
- Standard deck colors (A, B): Turquoise, (C, D): DarkOrange
- "Preview", "Favorite", "Preparation", and "View" Button now also have the Deck Color
"Big thanks goes to @Sûlherokhh,
(If you think the mod is great, please send him a coffee)"
Update:
- FX Snapshot (Save & Load)
- Load, press and hold the (ON[A] button), the active FX select button turns Green and press the button (if successfully: FX select button turns single or group color)
- Save, press and hold the (ON[B] button), the active FX select button turns Red and press the button (if successfully: FX select button turns single or group color)
- FX Stop All Activ Loops
- StopAllLoops, press and hold the (ON[C] button), the active FX select button turns Plum and press the button (if successfully: FX select button turns single or group color)
- FX (lfo Reset)
- lfoReset, press and hold the (ON[D] button), the active FX select button turns Yellow and press the button
!!! The FX Mod Color Scheme (Single, Single2Color(Reset), Group, Group2Color, Play, Rec, lfoReset, Load Snapshot, Store Snapshot, Stop loop) can be changed in file FourChannelFXSelector.qml [lines: (from: 190 to: 201)]
I also cleaned up the code a bit.
Please create a backup of the original files
Also this:
Note from @Karlos Santos
Moderator note:
FYI: Modifying the software is a breach of the EULA Terms & Conditions that you agreed to when you installed Traktor. You do it at your own peril.
"3.5 Licensee is not authorized to modify the software, unless it is to preserve or restore the agreed functions of the software purchased."
Don't shoot the messenger, it's my duty to inform you.
Replying to this message is pointless because I do not write the EULA.
Karlos.
Comments
-
Work in progress:
- Setting manual LoopIn-/LoopOut points.
- Adjusting LoopIn-/LoopOut points with the jog wheels.
- Preview Player toggle.
3 -
Is there a way to set the rating of a track? E.g. in preparation mode browse, play or preview and then use shift pads 1 to 8 to rate the current track. I assume not since setting the rating is not in the list of assignable actions.
1 -
I see no way to do this.
0 -
Update:
- Fixed PLAY button while not using SHIFT. Was making an extremely short VinylBreak before.
- Added PreviewPlayer toggle.
Test away... 🦋
Work in progress:
- Setting manual LoopIn-/LoopOut points.
- Adjusting LoopIn-/LoopOut points with the jog wheels.
- Display LoopIn-/LoopOut points on the stripe, green colouring of the looping part of the waveform when the loop is active.
3 -
Hello. Is it possible to add effect selection in hardware? For example as it was on the x1mk1 controller
0 -
Not sure what the x1mk1 provided, but i can try to have SHIFT+FXOn(1-4) jump through the available FX types. By the way, this is also possible by using the overmapping capabilities Traktor provides.
1 -
I believe that Mk1 had that Shift + FX Knob combo to scroll trough the list of all available effects. Then the Buttons 1-2-3 would insert a set of three effects each. I think the first preset was Delay+Reverb+Filter.
1 -
Good to know. That should be doable.
0 -
I couldn't do it with mapping.
0 -
Updated work in progress:
- Setting manual LoopIn-/LoopOut points.
- Adjusting LoopIn-/LoopOut points with the jog wheels.
- Display LoopIn-/LoopOut points on the stripe, green colouring of the looping part of the waveform when the loop is active.
- Browser scrolling with jog wheel.
- FX presets/selection
0 -
respect for your work here :)
I'm wondering if I can use your code VinylBreak for the S3?
0 -
Of course. That's what these open discussions are all about. A note though: Vinyl break length is a function of jog tension (of the S4). You can use the same property, but have to put in your own way of adjusting it with the s3. Or just set a constant in the code that you like.
You will need the following pieces of code:
import QtQuick 2.12 // or another version number
... at the top of the file, or the timers will crash Traktor
MappingPropertyDescriptor { id: vinylBreak path: deckPropertiesPath + ".vinyl_break" type: MappingPropertyDescriptor.Boolean value: false }
... to know if breaking is occurring.
// Wire { from: "%surface%.play"; to: "transport.play"; } Wire { from: "%surface%.play"; to: "VinylBreak"; }
... to assign the ButtonScriptAdapter to the PLAY button and ...
the complicated part. 'hapticTensionProp.value' is an integer value from 0 to 255 in the S4 files. You can just replace it with a number. I recommend 20 to 50.
//Vinyl Break AppProperty { id: tempobend; path: "app.traktor.decks." + deckIdx + ".tempobend.stepless" } AppProperty { id: stableTempo; path: "app.traktor.decks." + deckIdx + ".tempo.true_tempo" } AppProperty { id: isPlaying; path: "app.traktor.decks." + deckIdx + ".play" } AppProperty { id: keyLock; path: "app.traktor.decks." + deckIdx + ".track.key.lock_enabled" } AppProperty { id: isSyncEnabled; path: "app.traktor.decks." + deckIdx + ".sync.enabled" } AppProperty { id: keyAdjust; path: "app.traktor.decks." + deckIdx + ".track.key.adjust" } property int vinylBreakDuration: vinylBreak.value ? 128000/(hapticTensionProp.value + 63) : 100 property double adjustedTempobend: stableTempo.value < 1 ? stableTempo.value : 1 property bool previousKeyLockState: false property bool previousSyncState: false Timer { id: vinylBreak_countdown interval: (vinylBreakDuration/adjustedTempobend)/25 repeat: true onTriggered: { if (tempobend.value < 0.05) { vinylBreak_countdown.stop() tempobend.value = 0 vinylBreak.value = false if (previousKeyLockState) { keyLock.value = true } if (previousSyncState) { isSyncEnabled.value = true } } else tempobend.value = tempobend.value - 0.04 } } ButtonScriptAdapter { name: "VinylBreak" brightness: isPlaying.value || vinylBreak.value onPress: { if (vinylBreak_countdown.running) { vinylBreak_countdown.stop() tempobend.value = 0 isPlaying.value = true vinylBreak.value = false if (previousKeyLockState) { keyLock.value = true previousKeyLockState = false } if (previousSyncState) { isSyncEnabled.value = true previousSyncState = false } } else if (isPlaying.value) { isPlaying.value = false if (module.shift) { if (isSyncEnabled.value) { previousSyncState = true isSyncEnabled.value = false } else previousSyncState = false if (Math.abs(keyAdjust.value) <= 0.05/12 && keyLock.value) { previousKeyLockState = true keyLock.value = false } else previousKeyLockState = false vinylBreak.value = true tempobend.value = adjustedTempobend vinylBreak_countdown.restart() } } else { isPlaying.value = true vinylBreak.value = false previousSyncState = false previousKeyLockState = false } } onRelease: { if (isPlaying.value) { vinylBreak.value = false if (previousSyncState) { isSyncEnabled.value = true } if (previousKeyLockState) { previousKeyLockState = true } } } }
I had to rewrite the last parts several times. VinylBreak temporarily deactivates KeyLock and Sync, or it doesn't work correctly.
Edit: Code corrected.
2 -
Thank you for the introduction.
If I'm successful I'll post the files here. :)
1 -
The following mods are integrated for the S3. :)
Jogwheel Beatcounter LED
Jogwheel Browsing
VinylBreak
special thanks to Sûlherokhh & DuneArchitect
2 -
I noticed that the VinylBreak sometimes gets stuck after a track change
If I empty the deck and reload the track it works again.
0
Categories
- All Categories
- 19 Welcome
- 1.4K Hangout
- 60 NI News
- 731 Tech Talks
- 3.8K Native Access
- 15.8K Komplete
- 1.9K Komplete General
- 4.1K Komplete Kontrol
- 5.5K Kontakt
- 1.5K Reaktor
- 364 Battery 4
- 813 Guitar Rig & FX
- 416 Massive X & Synths
- 1.2K Other Software & Hardware
- 5.5K Maschine
- 6.9K Traktor
- 6.9K Traktor Software & Hardware
- Check out everything you can do
- Create an account
- See member benefits
- Answer questions
- Ask the community
- See product news
- Connect with creators