X1MK3: Browser View And Performance MOD (qml coding)

13468918

Comments

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

    I'll look into it. I noticed, but deemed it secondary. The problem is there even unmodded, switching between FX pairs when entering MIDI mode.

    I have no way of addressing the M1 problem.

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

    New version of Browser Mod is done (read features carefully):

    In short:

    • New Mixer Overlay.
    • Volume (Gain) control via Knob 4 (SHIFT+Knob 4) can be switched (via Preferences).
    • MODE-Tap and MODE-Double-Tap can be switched (via Preferences).
    • Mixer Overlay can be blocked (via Preferences).
    • Entering MIDI mode via SHIFT+MODE will not trigger other MODE functions underneath.


    Enjoy. 🦋


    Edit: Thanks again to everyone supporting me with this project! ❤️‍

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

    Browser View + Extras Version 4 for TP 3.11.1

    Fixed:

    • Mixer screen gain/volume value display bug
    • Mixer control channel assignment for cross selection (CA, AC and BD) mismatch

    Added:

    • Faster transition when switching decks, faster exiting Setup Mode.

    Feedback is appreciated. 🦋

  • vicente foi
    vicente foi Member Posts: 9 Member
    Tested in the latest traktor update and with a macbook 15 2018 also updated, everything works perfectly, BrowserMod_04.
    
    But I only need two things: the browser open with shift and the little screens, and to be able to
    change from AB to CD with the mixer selector by pressing and holding to be able to play with four
     decks... would it be possible to simply use that mod?
    


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

    Yes, you can use the mod with that. Try it out yourself. You can customize the MODE button Single-Tap and Double-Tap functions. Please read the description in Post#1 :

    X1MK3: Browser View (page 1)

  • bernardolanda
    bernardolanda Member Posts: 3 Newcomer

    First of all, thank you, it works amazingly well.

    I have a question regarding the navigation encoders. Since both are performing the same function maybe we can use each for different things. My question is, would it be possible to configure one of the encoders to scroll through 5 or 10 songs at a time, instead of just 1?

  • bernardolanda
    bernardolanda Member Posts: 3 Newcomer

    So, I was looking into the code and this works, I'm not sure if I have to take `deckIdx -- 3` into account too for when I'm using CD. I guess this won't work in every scenario but it works for me.

    Wire { enabled: browserFullScreen.value; from: "%surface%.browse.turn"; to: RelativePropertyAdapter { path: "app.traktor.browser.list.select_up_down"; wrap: true; step: (module.deckIdx == 1 || module.deckIdx == 3) ? 1 : 5; mode: RelativeMode.Stepped } }
    

    I'm too lazy to come up with the logic for it to work on every combination, sorry.

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

    Glad you find this of use, and happy to know you are playing with the code yourself. 😃

    This looks good if you only use combos AB and CD. deckIdx = 1 is deck A, etc. you got that right. So, as long as you have deck A or deck C on the left and deck B or deck D on the right, the left side will scroll 1 step and the right side will scroll 5 steps.

    But if you use a vertical combination (CA, BD or AC) both encoders will do the same, either both do 1 step or both do 5 steps.

    Better solution (maybe):

    The Wires group below for 'enabled: module.shift' contains

         Wire { enabled: browserFullScreen.value; from: "%surface%.browse"; to: "browser.tree_navigation" }
    

    ... but in BrowseMode, the left Loop encoder does exactly the same, only from the file: '...\Native Instruments\Traktor Pro 3\Resources64\qml\CSI\X1MK3\X1MK3.qml'

    So, you could use SHIFT+BrowseEncoder for 5 steps.

    Replace the above mentioned line of code simply with

    Wire { enabled: browserFullScreen.value; from: "%surface%.browse.turn"; to: RelativePropertyAdapter { path: "app.traktor.browser.list.select_up_down"; wrap: true; step: 5; mode: RelativeMode.Stepped } }
    

    and then the SHIFT layer (in BrowseMode) will make both Browse encoders go 5 steps, no matter the deck combination.

    🦋

  • bernardolanda
    bernardolanda Member Posts: 3 Newcomer

    Hey! thanks for the reply.

    That was the first approach I thought of when I realized I needed that feature, but using shift would require to use both hands, and I want to avoid that.

    It took me a while but I finally figured out that I can use the module.surface to know which side we are rotating. At first I wanted to add a step property to the modules and set the amount where they sides are being defined, but it was taking me too long and I think it's unnecessary. This approach is easier in every aspect.


    Wire { enabled: browserFullScreen.value; from: "%surface%.browse.turn"; to: RelativePropertyAdapter { path: "app.traktor.browser.list.select_up_down"; wrap: true; step: (module.surface == "surface.left") ? 1 : 5; mode: RelativeMode.Stepped } }
    

    Are there any docs or something that I can use in the future?

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

    I have a solution for your idea:

    Delete (or comment out) line 385 of 'X1MK3Deck.qml':

         Wire { enabled: browserFullScreen.value; from: "%surface%.browse.turn"; to: RelativePropertyAdapter { path: "app.traktor.browser.list.select_up_down"; wrap: true; step: 1; mode: RelativeMode.Stepped } }
    


    In 'X1MK3.qml' delete line 156

         enabled: encoderInUseProp.value
    

    it's a relic i forgot to delete.


    After that, add the following lines:

        Wire { enabled: !shiftProp.value; from: "surface.left.browse.turn"; to: RelativePropertyAdapter { path: "app.traktor.browser.list.select_up_down"; wrap: true; step: 5; mode: RelativeMode.Stepped } }
        Wire { enabled: !shiftProp.value; from: "surface.right.browse.turn"; to: RelativePropertyAdapter { path: "app.traktor.browser.list.select_up_down"; wrap: true; step: 1; mode: RelativeMode.Stepped } }
    


    Sadly there are no docs, but there is a list of usable commands and device control element names scraped from Traktor.exe:


    Edit: I think i'll add this to the mod myself, maybe with stepsize 10. It's a good idea.

    Edit: Added ... also tidied up the code.


  • dariodelima
    dariodelima Member Posts: 73 Advisor
    edited March 1

    Hey All.

    So quick question with the 3.10 older mods there was the option to select only certain mods and change the qml files you could combine the mods you needed, with the updated mod now it seems you can only add the whole browser mod? is this correct?

    The reason i ask this is now that there is over mapping available i got my x1 mk3 working like my x1 mk1 was in terms of workflow. so if i add the whole browser mod it messes all that up. i did manage to add the Easy Setup Access qml code so that pressing the mode button for a second would get the deck select page again, however i tried to add the mixer mode obsolete mod where it deactivates mixer mode but that does not work, also tried to add the qml for the Easy Deck switch mode button that then switches between decks A/B and C/D. however that does not work on a macbook and the x1mk3 will then not start. i read in the posts this works only on windows and @Stevan also found it did not work on macbook m1.

    Basically i am trying to use certain parts only of the qml code and not the whole browser mod.

    • 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. (This one i manged to get working)
    • Easy Deck Switch: Double-Tapping the MODE button switches between Deck selection (e.g. AB) and alternate Deck selection (e.g. CD).

    Tempo control features:

    • Tap SyncToggles 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

    Then the option to have mixer mode disabled as i never use that.

    Hope that makes sense.

    Would appreciate any info or help on this

    Thanks

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

    I will see if i can encapsulate those two modifications for you. But i don't have a Mac, so you will need to test it yourself.

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

    Let me know what you think:

    Minimal mod without Browser Mode or Mixer Overlay for 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: 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 Double-Tapping the MODE button.

    I made the Single Tap switch decks, Double Tap switch FX Units. We can reverse that easily again, if you prefer.

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

    Version 6 Update

    In Mixer Mode:

    • Knob 1 dual function - Hi Eq (+SHIFT Mid Eq)
    • Screen feedback.


  • dariodelima
    dariodelima Member Posts: 73 Advisor
    edited March 3

    @Sûlherokhh you are a legend, mapping works perfect and gels so well with my x1mk3 over mapping i made. One thing i think, is the Tap and Double Tap would be better if swapped around single tap to switch effects and Double Tap to switch decks. At least for me as i find myself using the fx switch way more then the switching of Decks. Besides that everything works fine as intended and also i can confirm it now does work on Macbook M1.

    Native Instruments brought out a great controller i must admit but they missed so many marks with it and possibilities. Thanks to people like you @Sûlherokhh and @Stevan it possible to get these controllers working with options and tailored the way it makes most sense to work as without you i would have no idea how to make advanced changes like this using QML.

    For instance the mixer mode has no use for many that option should always have had the option to disable or activate in the x1mk3 menu. They should also have made the option to have pattern player in an advanced mode as an option in the menu, i know they have the simple pattern player EG: start, stop and selecting patterns. Give us the option to have mixer mode activated or pattern player advanced mode activated where you can manually tap in or remove parts of the pattern yourself and see the feedback on the screens. I'm playing with a midi mode tsi that @Stevan made and its great but imagine NI had implemented something like that instead of mixer mode where you got actual feed back on the screens and could have the Green LED's instead of just having only the Blue LED's in that are available in midi mode with no screen feedback. This would also allow one to streamline a set up no need for so many different controllers when it could have been all on one or two.

    Anyways appreciate the mapping, hopefully switching the single press and double press around wont be much of a headache. i now have this x1mk3 working like a dream for my modular set up.


    Thank you, expect another coffee.

    PS, quick question why is it that when a new update comes out the previous qml becomes obsolete eg: 3.10 and 3.11 needed qml update, does this mean every Traktor update the QML files need to be updated. I mean i understand having to RE- Paste them in a new update , i am actually talking about the qml code itself do they need to be updated every Traktor update?

Back To Top