SupremeEditionMod EDIT

Sûlherokhh
Sûlherokhh GermanyMember Posts: 238 Saw
edited August 10 in Traktor Software & Hardware

SupremeEditionMod EDIT

(Based on Supreme Edition Mod by @Aleix Jiménez)

Here is the Edit i've worked on since last year. It's on Beta 31 for now. You'll have to have the qml folder of Beta 31 already and then put the new ones on top of them, overwriting the old ones.

There are too many goodies, so more details as soon as my documentation with pictures and films is ready. I will update the Edit to the latest SupremeMod Beta as soon as i am ready to tackle that onerous task.

Highlights: (For Kontrol D2/S5/S8)

  • New Waveforms: X-Ray, Infrared, Ultraviolet, XR/UV combo (TopDeck/BottomDeck) with IR on the Master waveform.
  • Dozens of cosmetics, including adjusted GridTicks, corrected cue orientation, slightly expanded waveforms (+10% height).
  • Dynamic Waveforms now adjust with Filter activation. Remix samples adjust to Slot Filter, Stems & Samples both adjust to SlotVolume/Mute.
  • Greatly expanded Zoom steps, combined with Traktor Zoom. It's basically stepless now, but i set it to 25 steps for now.
  • When Browse-On-Touch is turned off, the Backbutton is turned into a dedicated Browser-Toggle. To leave a Browser Node, touch Browse-Knob + press Back. Pressing the Knob will now toggle LoopActive if Move/Beatjump is assigned to be used with the Browse knob.
  • Holding the Sync button toggles Sync (instead of Key Sync), quickly pressing Sync will trigger a TempoSync without actually toggling Sync to ON, but it will turn Sync off.
  • (S5 only): Switching Padmodes releases any latched slots (RemixDeck/StemDeck) so that slot controls do not conflict with Browse-On-Touch mode.
  • (D2/S5/S8): PadFX now trigger on first tap.
  • (D2/S8 only): Performance Knobs/Buttons can be set to all four Channel Filters/MixerFX controls via FX setup. Included is a custom Bottom Overlay. This replaces Unit1/Unit2 controls for the Performance section. Nice when you put a set of D2's next to a mixer without Filter controls.
  • (D2/S8 only): Screen Buttons 2,3 and 6,7 are switched for D2 as well as for righthand deck of the S8, so that BPM/KEY-Overlay controls are close to the Browse Knob to more easily use a single hand.
  • (S5/S8 only, NEW): SHIFT + QUANT toggles Browse-On-Touch. SHIFT + SNAP toggles Touchstrip-Scratch.
  • (D2 only, NEW)): SHIFT + Screen Button 6 toggles Browse-On-Touch. SHIFT + Screen Button 7 toggles Touchstrip-Scratch. Both functions have a pop-up display on the right side of the screen.
  • (D2 only, NEW): FX-Assign-Buttons: Hold FX-SELECT (instead of SHIFT) + [A, B, C, D] to assign the secondary FX Unit to decks A, B, C, D. This can now be done using one hand only!
  • (D2 only, NEW): FX-Assign-Buttons: Hold SHIFT + A to toggle dynamic waveforms, hold SHIFT + B to cycle through waveform colours, hold SHIFT + C to toggle hide/show bottom panel, hold SHIFT + D to cycle through performance panel states.
  • (D2, S5, S8, NEW): Add your own logo. Anytime the deck or the browser indicates a file without it's own logo, it will show a custom logo (in this case my own). You can create your own and replace mine. It is called '...\qml\Screens\Shared\Images\NoCoverLogo.png'
  • (D2, S5, S8, NEW): FX Select, Hotcue, Loop and Freeze buttons have their assigned secondary (shift+...) function now activated by double-tapping the button; no second hand for PadModes or FXsettings necessary.
  • (D2, S5, S8, NEW): Hold-DECK-Button to use the Touchstrip to Scratch regardless of settings.
  • (D2, S5, S8, NEW): SHIFT doubles as Beat-Tap. No need to go into edit mode.
  • (D2, S5, S8, NEW): Customize Themes (Traktor, Prime etc.) by hand. Open the file '...\qml\Screens\S8\Views\Settings\SettingsGrid.qml', go to lines 1310++. Any line with '//' in front of it is a nonfunctional comment. If you remove '//' and set a value to your liking, then this is what is set when selecting that particular theme.
SettingsGrid.qml, line 1327
//Supreme
  else if (theme.value == 2) {
    // hideBottomPanel.value = false
    topLeftCorner.value = 1 //Empty(0), Album(1), Deck Letter(2), Deck Index(3)
    // waveformColor.value = 20
    waveformOffset.value = 18
    gridMode.value = 2 //Full(0), Dim(1), Ticks(2), Invisible(3)
    displayGridMarkersWF.value = true
    displayPhrasesWF.value = true
    displayBarsWF.value = true
    displayDeckLetterStripe.value = true
    displayDarkenerPlayed.value = true
    displayMinuteMarkersStripe.value = false
    displayGridMarkersStripe.value = false
    // panelMode.value = 0 //Disabled(0), Hotcue Bar(1), Performance Panel(2)
    beatsxPhrase.value = 16
    beatCounterMode.value = 3 //X BARS(0), X.Z BARS(1), X.Y.Z(2), -X.Y.Z(3)
    phaseWidget.value = 2 //Empty(0), Phase Meter(1), Beat Counter(2), Waveform(3)
  }


[email protected]


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.

«13

Comments

  • Patch
    Patch Bristol, UKMember Posts: 68 Tri
    edited July 6

    Holding the Sync button toggles Sync (instead of Key Sync), quickly pressing Sync will trigger a TempoSync without actually toggling Sync to ON, but it will turn Sync off.

    This sounds very elegant. Care to talk a little more about that?

  • Sûlherokhh
    Sûlherokhh GermanyMember Posts: 238 Saw
    edited July 6

    It works like this.

       ButtonScriptAdapter {
           name: "SyncButton"
           onPress: {
               holdSync_countdown.restart() // starts the counter when pressed
           }
           onRelease: {
              if (holdSync_countdown.running) { // if the counter is still running
                   if (isSyncEnabled.value) isSyncEnabled.value = false // if SYNC is ON  => SYNC toggle OFF
                   else isSyncTriggered.value = !isSyncTriggered.value // if SYNC is OFF => triggers tempo sync
              }
              else if (isSyncEnabled.value) { // if 250 microseconds have passed & SYNC is ON
                isSyncEnabled.value = false // => SYNC toggle OFF
                tempoAbsolute.value = 1 // => reset tempo to +/- 0%
              }
              else // if 250 microseconds have passed & SYNC is OFF
                isSyncEnabled.value = true // => SYNC toggle ON
                holdSync_countdown.stop()
           }
       }
    
       Timer { id: holdSync_countdown; interval: 250 } //in microseconds
    

    Or in other words:

    Pressing SyncButton starts the 250ms counter.

    Releasing SyncButton before 250ms :

    • If SYNC is ON, it is set to OFF
    • IF SYNC is OFF it triggers TempoSync.

    Releasing SyncButton after 250ms :

    • If SYNC is ON, it is set to OFF. Also Tempo is Reset to +/- 0%**
    • IF SYNC is OFF, it is set to ON

    So there are two ways to unsync a deck, quickly (standard) and a bit longer press (standard + tempo reset). To engange sync you need a longer press (not really long). Quick press on an unsynched deck will just tempo sync the deck without syncing beats (in case you have set TraktorSync to beat sync).

    I found this very helpful to sync a track with a slightly off beatgrid (bar tempo/beatmatching by hand) without giving up the option of doing a hard beat synch with well gridded tracks.

    Edit: ** Tempo Reset only works when the deck is not playing. I didn't want any accidental resets. This condition is placed in a different location than in the code above.

  • Michael Niotakis
    Michael Niotakis Member Posts: 11 Sine

    Thanks for the explanation Sûlherokhh.

  • Sûlherokhh
    Sûlherokhh GermanyMember Posts: 238 Saw
    edited July 6

    You're welcome. I wanted to explain everything better anyway. If you use the Edit, tell me what you think. I will try to answer any questions you may have.

  • dj_estrela
    dj_estrela AmsterdamMember Posts: 46 Tri

    Cool idea. I have pieces of this in my bome mapping as well

    Slide 27: bad beatgrid helper: jog turn disables sync, cue enables it

    (Result is a mixture of beating and tempo sync)


    Slide 81: long press does backwards loop, echo out vs slip reverse, loop adjust like CDJs and continous seeking like CDJs


    https://github.com/pestrela/dj_maps/blob/main/ddj_1000/1%20-%20BOME%20version/2%20-%20Documentation/DDJ-1000%20-%20Manual.pdf


    Tech details:

    https://github.com/pestrela/dj_maps/blob/main/ddj_1000/9%20-%20Extras/2%20-%20Technical%20info/Technical%20Info%20-%20BOME%20side.txt#L2493

  • Sûlherokhh
    Sûlherokhh GermanyMember Posts: 238 Saw

    I really like the double tap. Controls requiring only a single hand to handle makes the workflow so much smoother. I will have a long and good look at your documentation. Thank you. 💐

  • Sûlherokhh
    Sûlherokhh GermanyMember Posts: 238 Saw

    Updated Edit (same Link)

    Waveforms Opacity/Brightness (HiMidLo): Only the standard Filter will cut out visually all of the frequencies when using Dynamic Waveforms. All other MixerFX will cut out just half the amount visually, just as they actually do.

    I hope i can get you some pictures soon. Enjoy anyway.

  • Tellmeaboutit123
    Tellmeaboutit123 YorkMember Posts: 122 Tri

    Have you got this working with beta 3.6?

  • Sûlherokhh
    Sûlherokhh GermanyMember Posts: 238 Saw

    Me? No, didn't try. I prefer to have a stable platform for the moment. But my guess would be that it works.

  • Tellmeaboutit123
    Tellmeaboutit123 YorkMember Posts: 122 Tri

    Hey thanks for your response. I’ve tried it and a couple of things don’t work. Mixer fx work as should but on the s8 screens it only says Filter. Fx bank 1 is messed up also. It will need Aleix to take a look for sure. I like 3.6 as well so I’ve had to go back to the stock Traktor qlm to use beta. I’m getting used to it now. Bit basic but I quite like it. I miss having the browser open on laptop though. I’ve just bought a pair of xdj 700 to go with it. Once Aleix has sorted it I’ll have s8 and xdj 700 hooked up with Supreme Mod.

  • Sûlherokhh
    Sûlherokhh GermanyMember Posts: 238 Saw

    Interesting. I'll have a look once a stable 3.6 is released.

  • Sûlherokhh
    Sûlherokhh GermanyMember Posts: 238 Saw
    edited August 7

    I made a comfort update. Here is the rundown.

    • (S5/S8 only, NEW): SHIFT + QUANT toggles Browse-On-Touch. SHIFT + SNAP toggles Touchstrip-Scratch.
    • (D2 only, NEW)): SHIFT + Screen Button 6 toggles Browse-On-Touch. SHIFT + Screen Button 7 toggles Touchstrip-Scratch. Both functions have a pop-up display on the right side of the screen.
    • (D2 only, NEW): FX-Assign-Buttons: Hold FX-SELECT (instead of SHIFT) + [A, B, C, D] to assign the secondary FX Unit to decks A, B, C, D. This can now be done using one hand only!
    • (D2 only, NEW): FX-Assign-Buttons: Hold SHIFT + A to toggle dynamic waveforms, hold SHIFT + B to cycle through waveform colours, hold SHIFT + C to toggle hide/show bottom panel, hold SHIFT + D to cycle through performance panel states.
    • (D2, S5, S8, NEW): Add your own logo. Anytime the deck or the browser indicates a file without it's own logo, it will show a custom logo (in this case my own). You can create your own and replace mine. It is called '...\qml\Screens\Shared\Images\NoCoverLogo.png'
    • (D2, S5, S8, NEW): Customize Themes (Traktor, Prime etc.) by hand. Open the file '...\qml\Screens\S8\Views\Settings\SettingsGrid.qml', go to lines 1310++. Any line with '//' in front of it is a nonfunctional comment. If you remove '//' and set a value to your liking, then this is what is set when selecting that particular theme.
    SettingsGrid.qml, line 1327
    //Supreme
      else if (theme.value == 2) {
        // hideBottomPanel.value = false
        topLeftCorner.value = 1 //Empty(0), Album(1), Deck Letter(2), Deck Index(3)
        // waveformColor.value = 20
        waveformOffset.value = 18
        gridMode.value = 2 //Full(0), Dim(1), Ticks(2), Invisible(3)
        displayGridMarkersWF.value = true
        displayPhrasesWF.value = true
        displayBarsWF.value = true
        displayDeckLetterStripe.value = true
        displayDarkenerPlayed.value = true
        displayMinuteMarkersStripe.value = false
        displayGridMarkersStripe.value = false
        // panelMode.value = 0 //Disabled(0), Hotcue Bar(1), Performance Panel(2)
        beatsxPhrase.value = 16
        beatCounterMode.value = 3 //X BARS(0), X.Z BARS(1), X.Y.Z(2), -X.Y.Z(3)
        phaseWidget.value = 2 //Empty(0), Phase Meter(1), Beat Counter(2), Waveform(3)
      }
    


    DOWNLOAD Version 2 (Dropbox Link)

    Any questions, ask away. Enjoy. 🦋

  • Tellmeaboutit123
    Tellmeaboutit123 YorkMember Posts: 122 Tri

    Hi @Sûlherokhh with your cool edit which mod do I need to install, alongside yours? Also if it’s an earlier version, have you done any work on the pad fx, to get them working spot on?

  • Sûlherokhh
    Sûlherokhh GermanyMember Posts: 238 Saw
    edited August 7

    You need beta 31 underneath.

    You are talking about pad fx activating on the first tap, right? Not yet, but it should be pretty fast to do.


    EDIT: I forgot a line. It's now back in the posts but here it is as well:

    (D2 only, NEW): SHIFT + Screen Button 6 toggles Browse-On-Touch. SHIFT + Screen Button 7 toggles Touchstrip-Scratch. Both functions have a pop-up display on the right side of the screen.

  • Sûlherokhh
    Sûlherokhh GermanyMember Posts: 238 Saw
    edited August 7

    PadFX trigger-on-first-tap has been fixed and the Version 2 upload reflects that now. It may be that you have to trigger the PadFX twice for the very first time. But when you have done it (and triggered the newly added 'StorePreset' command) thereafter only a single tap is needed to trigger the FX.

    Enjoy. 🦋

Back To Top