My Traktor Kontrol S4 MK3 mods, codenamed "Midnight Fiction".
Note
I no longer own the Traktor Kontrol S4 MK3, so I will not be maintaining this project anymore.
- Scrolling waveform
- Note: The S4 MK3 screens have a slow refresh rate, so the scrolling may not be as smooth.
- See "Waveform Zoom" section to customize the zoom level.
- "Key Match Assist" to help with harmonic mixing
- When holding SHIFT to change the key, keys compatible with the current deck's key are shown (only in musical format). It also shows a picture of a single octave piano keyboard for reference.
- See "Disabling Key Match Assist" section to disable this feature.
- Toggle stem FX sends from pads
- Display stable tempo percentage
- a.k.a. the current tempo's relative percentage from the song's original tempo
- Change deck colors
- Deck 1 through 4 are set to the colors: White, White, Red, Orange
- Credit: swightwick, Greater Good Beats & Instrumentals
- To change the colors, see "Changing Deck Colors" section below
Scrolling.Waveform.Demo.mov
Key.Match.Assist.Demo.mov
Stable.Tempo.Demo.mov
Only tested with Traktor Pro 4 on macOS.
- Download the ZIP of this repository
- Extract the ZIP file.
- Locate the
qml
folder in your Traktor Pro 4 installation. - Backup the
qml
folder. - Replace the following folders and files from the extracted ZIP to your Traktor Pro 4
qml
folder:qml/CSI/S4MK3/
qml/CSI/Common/DeckHelpers.js
qml/Screens/S4MK3/
qml/Screens/S8_MIDNIGHT_FICTION/
(this is a new folder, just copy it over)
Note that I did not code an interface to change the options within the screen, so the files will need to be edited manually.
In qml/Screens/S4MK3/Views/TrackDeck.qml
, delete or comment out the following lines:
// PIANO OVERLAY //
Widgets.PianoOverlay
{
visible: deckInfo.shift
anchors.top: parent.top
anchors.left: parent.left
}
In qml/CSI/Common/DeckHelpers.js
, change the colors returned by colorForDeck()
. The color choices are commented in the file.
function colorForDeck(deckIdx)
{
switch (deckIdx)
{
case 1:
case 2:
return Color.White;
case 3:
return Color.Fuchsia;
case 4:
return Color.Red;
}
// Fall-through...
return Color.Black;
}
In qml/Screens/S4MK3/Views/TrackDeck.qml
, change the bit-shift amount (the 6
in 0x800 << 6
) to adjust the waveform zoom. The higher the number, the more zoomed out the waveform will be.
// SCROLLING WAVEFORM //
WF.WaveformContainer {
id: waveformContainer
deckId: deckInfo.deckId - 1
sampleWidth: 0x800 << 6 // Change the integer here for waveform zoom
anchors.left: parent.left
anchors.right: parent.right
height: 70
}
Note the scripts only work on macOS.
make import
: Copies Traktor Pro 4 QML files related to the mod into the project.make install
: Backs up the Traktor QML folder, updates ownership if needed, and copies modified QML files back to Traktor.make install-and-run
: Closes Traktor Pro 4, installs the modified QML files, and then reopens the application.
-
Auto key syncDropped, as I do not own the controller anymore.
- Basic installation instructions for non-code users
- Screenshots/Videos