X1MK3: Browser View And Performance MOD (qml coding)

Sûlherokhh
Sûlherokhh Member, Traktor Mapping Mod Posts: 2,816 mod
edited December 12 in Mapping Traktor

As has been suggested elsewhere, the new X1MK3 is in need of some coding love.

I thought it would be a good idea to open a thread for small and easy to implement qml-mods to address the needs of those who are not satisfied with the basic version.

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.

Expanded Browser View mod Version 3 for Traktor 4.1.1 and Version 8 for Traktor 3.11.1 :

Expanded Browser View mod with Preview Player, alternate Mixer Overlay, Screen Support and assorted goodies:

Tempo control features:

  • Tap Sync: Toggles SYNC.
  • Hold Sync: Does NOT toggle SYNC, so you are free to hold the button to just check current track BPM on the screen, without having to adjust the BPM in order to NOT toggle SYNC.
  • Sync[Hold]+LoopTurn: Adjust Tempo by +/- 0.01 BPM.
  • Sync[Hold]+LoopPush[Hold]+LoopTurn: Adjust Tempo by +/- 1.00 BPM.
  • Sync[Hold]+LoopPush: Reset Tempo

Deck Features:

  • Shift Button: Tap to Toggle Browse Mode (and Unload Preview Player).
  • Browse Encoder: Like Move Encoder of S4: Move (Loopsize) and Move (1 beat) when using Shift, also Toggle Loop Active.
  • Loop Encoder: Like Loop Encoder of S4. Loop Size/Set and Key Adjust/Toggle when using Shift (including screen display)

Browse Mode Features:

  • Left or Right Browse (Turn): Navigate Playlist (1 step at a time)
  • SHIFT + Left or Right Browse Encoder (Turn): Navigate Playlist (10 steps at a time)
  • Left or Right Browse (Tap): Load Track (or Load Primary for TP 4) and Unload Preview Player (Push).
  • Left or Right Browse (Hold 1 second): Load Secondary (only for TP 4) and Unload Preview Player (Push).
  • Left Loop Encoder: Navigate Tree (1 step at a time) and Open/Close Node (Push).
  • SHIFT + Left Loop Encoder: Navigate Tree (10 steps at a time) and Open/Close Node (Push).
  • Right Loop Encoder: Load Preview Player (Push) + Seek Preview Player.
  • SHIFT+Right Loop Encoder: cycle through favourites or jump to preperation list (Push).

Alternate Mixer Overlay Features:

  • Knob/Button 1: HI eq (+SHIFT MID eq) controls
  • Knob/Button 2: LO eq controls
  • Knob/Button 3: MixerFX controls including different colours according to Traktor GUI
  • SHIFT+Button 3 will cycle through Filter/MixerFX, limited text feedback on the screens for different MixerFX (MFX1 to MFX4) like for standard FX cycling.
  • Knob/Button 4: VOL+CUE controls.
  • SHIFT+Knob 4: GAIN controls.

New LED feedback. Both Play and Cue LED's now have CDJ-style CuePoint blinker. Hotcues have more visible colours.

  • Play: Green (default)
  • SHIFT+Play (Beat-Tap): White (default)
  • Sync: Cyan (default)
  • SHIFT+Sync (Master): Red (default)
  • Cue: Yellow (default)
  • Hotcue (Load): Yellow (default)
  • Hotcue (Fade-In): Dark Orange (default)
  • Hotcue (Fade-Out): Red (default)

Additional features:

  • Browser View indicator: SHIFT button LED will blink when in Browser View.
  • Screen Support: When in Browser View, the deck screens display what you can do with the encoders. At the bottom of the right screen is a preview deck strip for scrolling through. The words 'Preview Player' will blink when the player is running a track. The FX screens also reflect the changes made to the Mixer Overlay.
  • Easy Setup Access: Hold down MODE button for 1 second to re-enter the setup mode to select decks and FX units for the X1.
  • Easy Deck Switch: Double-Tapping the MODE button switches between Deck selection (e.g. AB) and alternate Deck selection (e.g. CD).

Customizable features:

  • In the Preferences page of the X1MK3, the whole 'Browse Encoder' and 'Loop Encoder' sections (both made obsolete by the BrowserView code) now let you customize a few of the new functions (see picture):

  • Setting "Browser SHIFT+Turn" - to 'Browse Favorites' changes MODE Tap to switching Decks, and setting MODE Double-Tap to switch FX-Layers.
  • Setting "Browser SHIFT+Push" - to 'Maximize Browser' switches Volume/Gain functions of Knob 4 in the Mixer Overlay to Gain (normal) and Volume (SHIFT).
  • Checkmark in the box "Maximize Browser when browsing" to connect BrowserView (X1) and FullscreenBrowser (Traktor GUI) states
  • Setting "Loop SHIFT+Turn" - to 'Key Adjust' will block the Mixer Overlay completely, jumping only between FX overlays when using the MODE button.

Link:

If you enjoy this mod as much as i do, please consider supporting me. 🦋🎧


Minimal mod without Browser Mode or Mixer Overlay for Traktor 4.1.1 and Traktor 3.11.1:

Tempo control features:

  • Tap Sync: Toggles SYNC.
  • Hold Sync: Does NOT toggle SYNC, so you are free to hold the button to just check current track BPM on the screen, without having to adjust the BPM in order to NOT toggle SYNC.
  • Sync[Hold]+LoopTurn: Adjust Tempo by +/- 0.01 BPM.
  • Sync[Hold]+LoopPush[Hold]+LoopTurn: Adjust Tempo by +/- 1.00 BPM.
  • Sync[Hold]+LoopPush: Reset Tempo

Additional Features:

  • Mixer Overlay: Is blocked completely.
  • Easy Setup Access: Hold down MODE button for 1 second to re-enter the setup mode to select decks and FX units for the X1.
  • Easy Deck Switch: Double-Tapping the MODE button switches between Deck selection (e.g. AB) and alternate Deck selection (e.g. CD). You can still switch between FX Unit pairs by Single-Tapping the MODE button.
  • Browse Encoder (Hold 1 second): Load secondary for TP 4 only.

New LED feedback. Both Play and Cue LED's now have CDJ-style CuePoint blinker.

  • Play: Green (default)
  • SHIFT+Play (Beat-Tap): White (default)
  • Sync: Cyan (default)
  • SHIFT+Sync (Master): Red (default)
  • Cue: Yellow (default)

Link:

If you enjoy this mod as much as i do, please consider supporting me. 🦋🎧

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.

«13456718

Comments

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,816 mod
    edited October 2023

    Here is a (untested) qml mod for a simple BrowserView mod of the X1MK3 i cooked up.

    Features:

    • Open BrowserView of the Traktor software by turning the Browser Encoder.
    • Close BrowserView of the Traktor software when a track is loaded.
    • Toggle BrowserView of the Traktor software by tapping the Shift Button.


    Installation: Replace the file found here...

    "...\Native Instruments\Traktor Pro 3\Resources64\qml\CSI\X1MK3\X1MK3.qml"

    with this file:

    Remember to make a safety copy of the qml folder first. Please test and give feedback, my controller hasn't arrived yet.

    Note: this is the minimal version. I plan on an internal browse-mode with preview-player capabilites and whatever else you may find useful.


    Edit1: For those who are interested, this is what i changed in the file:

    line 103++

    // Wire { from: "surface.shift"; to: DirectPropertyAdapter { path: mapping.propertiesPath + ".shift" } }
    
    Browser { name: "browser" }
    
    AppProperty { id: fullscreenBrowserProp; path:"app.traktor.browser.full_screen" }
    
    AppProperty { path: "app.traktor.decks.1.is_loaded_signal"; onValueChanged: { fullscreenBrowserProp.value = false } }
    AppProperty { path: "app.traktor.decks.2.is_loaded_signal"; onValueChanged: { fullscreenBrowserProp.value = false } }
    AppProperty { path: "app.traktor.decks.3.is_loaded_signal"; onValueChanged: { fullscreenBrowserProp.value = false } }
    AppProperty { path: "app.traktor.decks.4.is_loaded_signal"; onValueChanged: { fullscreenBrowserProp.value = false } }
    
    Wire {
      from: "surface.shift"
      to: ButtonScriptAdapter {
        onPress: {
          shiftProp.value = true;
          holdShift_countdown.restart()
        }
        onRelease: {
          shiftProp.value = false;
          if ( (holdShift_countdown.running) && (deviceSetup.state == DeviceSetupState.assigned) ) {
            fullscreenBrowserProp.value = !fullscreenBrowserProp.value
            holdShift_countdown.stop()
          }
        }
      }
    }
    
    Timer { id: holdShift_countdown; interval: 200 }
    
    Wire {
      enabled: (deviceSetup.state == DeviceSetupState.assigned)
      from: Or {
        inputs:
        [
          "surface.left.browse.is_turned",
          "surface.right.browse.is_turned"
        ]
      }
      to: SetPropertyAdapter { path: "app.traktor.browser.full_screen"; value: true }
    }
    

    Edit2: Adjusted so as not to toggle BrowserView when in Setup-Mode.

  • nachopenades
    nachopenades Member Posts: 286 Pro
    edited October 2023

    This sounds fantastic, thank you very much for the initiative.

    What do you think of this configuration? It also opens automatically when you turn the encoders.


    I'm going to try the one you shared and let you know.

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,816 mod

    My idea is to keep it as simple as possible and avoid as much as possible shift-layer functions. In short, a future BrowseMode should be triggered by simply pressing any of the two Browse Encoders. This would change the functions of both Browse Encoders and Loop Encoders until exiting BrowseMode again.

    The Browse Encoders will provide the controls for Tree (shifted), Playlist scrolling and deck loading, while The Loop Encoders will provide the controls for going through the favorites and for loading and seeking through the preview player.

    Also some indication on the screen to signify BrowseMode directly on the controller.

  • nachopenades
    nachopenades Member Posts: 286 Pro

    Your project seems fantastic to me, it solves an important problem. And it's easy to use. Works perfect on all 4 decks.

    Infinite thanks!!!!

  • nachopenades
    nachopenades Member Posts: 286 Pro
    edited October 2023

    ..........

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,816 mod
  • nachopenades
    nachopenades Member Posts: 286 Pro

    Yes, I updated the image from the original message ;)

  • Stevan
    Stevan Traktor Mapping Mod Posts: 2,043 mod

    Thanks for starting this thread!

    I don't think I will be using those small screens to browse tracks on them but will definitely need your help with the customizing the screens when I have the X1 Mk3.

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,816 mod

    I think they are too small as well and wasn't going to try. BrowseMode is supposed to be a state that make the encoders have different functions (plus browser view in the software).

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,816 mod
    edited October 2023

    If you want i can still code the functionality of your picture (including encoder-turn = open browser view).

    And a big thank you for my coffee; sure feels good to be appreciated. ❤️‍

  • nachopenades
    nachopenades Member Posts: 286 Pro

    My head is a little cloudy because I am sick in bed now, I thank you very much for your willingness. If you want we can talk later.

    It has been a pleasure to invite you to a couple of coffees, they won't be the last, what you do is very useful for us.

  • Stevan
    Stevan Traktor Mapping Mod Posts: 2,043 mod

    @Sûlherokhh Is it possible to have the FX Knobs to output the Global Midi Knobs when the Mixer Page Is selected?

    I have idea how to upgrade the mixer page functionality. Making that mapping on my X1 MK2 now.

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,816 mod

    Sure, there are eight buttons and eight knobs. If you want a 1 to 1 correspondence it's a short and straightforward piece of code in a single file.

    Give this a try (still can't test myself) :

    '...\Native Instruments\Traktor Pro 3\Resources64\qml\CSI\X1MK3\X1MK3FXSection.qml'

    Left row is Knobs/Buttons 1-4, right row is 5-8. 🦋

    Edit: Do you want me to remove the original mixer controls (high-mid controls, volume, kill buttons and cue monitor) so that there are only the midi control elements when in mixer-overlay?



    We got a noticable wave of infections in (at least) germany as well. Recently recovered myself from an incapacitating episode. Get well and be cared for... 🐭🌾🍁

  • Stevan
    Stevan Traktor Mapping Mod Posts: 2,043 mod

    I don't have the X1 Mk3 either. Not able to test it - just wondering if it is possible or not.

    The original EQ knobs can go and the Volume knob can stay.

    So only 6 Knobs and 6 buttons :)

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,816 mod

    FX overlay has the (default) colour Light Orange; pattern player has Mint; equalizer kill buttons and cue monitor has Blue. What colour do you want for the 6 MIDIbuttons (cue monitor would stay Blue, if you want)? I think picking a custom colour will override this, but i am not sure.

    Also i will set MIDIknobs/buttons 1, 2 and 3 for decks A and C (left side), 4, 5 and 6 for decks B and D unless you would like a different combination.

Back To Top