QML Mods - On today's menu: Native ButtonGestures (Double-Tap-Hold-Release)

2»

Comments

  • pixel
    pixel Member Posts: 233 Advisor

    If that works, I created a converter for Korg KP3+ 10 years ago, I could modify that for meta container editing. :) this was never published by me😛

    but now with traktor^^

    sadly only in German😝


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

    I'll get my popcorn... 🐭

  • ErikMinekus
    ErikMinekus Member Posts: 112 Advisor

    @pixel FileIO will have to be compiled into Traktor, if you manage that let me know 😃

    This works on older versions of Traktor (tested on 3.7.1):

      AppProperty { id: rootPath; path: "app.traktor.settings.paths.root" }
    
      Component.onCompleted: {
        var request = new XMLHttpRequest();
        request.open("PUT", "file://" + rootPath.value + "/test.txt", false);
        request.send("This is a test");
      }
    

    But writing local files is disabled in the latest releases.

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,828 mod
    edited August 6

    Just wanted to throw this one out. Advent of TP4 had the developers implement their own Double-Tap/Hold module. 😁

    This is what you will need to place:

    ButtonGestures { name: "loading_button_gesture" }
    

    This is how you use it:

    Wire { 
      from: "%surface%.browse.push"; // the actual button
      to: "loading_button_gesture.input"
    }
    Wire { from: "loading_button_gesture.input.single_click"; // button input variation 1 to: TriggerPropertyAdapter { path: "app.traktor.decks." + deckIdx + ".load.selected"; output: false } }
    Wire { from: "loading_button_gestures.double_click"; // button input variation 2 to: TriggerPropertyAdapter { path: "app.traktor.decks." + deckIdx + ".load_secondary.selected"; output: false } }
    Wire { from: "loading_button_gestures.long_click"; // button input variation 3 to: TriggerPropertyAdapter { path: "app.traktor.decks." + deckIdx + ".load_stems.selected"; output: false } }

    Here is a snippet of the loading assignments you can use:

    "app.traktor.decks.X.load.next"
    "app.traktor.decks.X.load.previous"
    "app.traktor.decks.X.load.selected" // old, now used as load_primary
    "app.traktor.decks.X.load_secondary.selected" // new in Traktor Pro 4
    "app.traktor.decks.X.load_track.selected" // new in Traktor Pro 4
    "app.traktor.decks.X.load_stems.selected" // new in Traktor Pro 4
    "app.traktor.decks.X.load.from_preview_player"
    "app.traktor.decks.X.unload"
    

    If all goes well i will present you with an overview of all basic commands as well as all of the usable internal modules and applicable arguments.

    Note: All three of the arguments used in the ButtonGestures module only trigger 1 second after releasing the button, single_click after holding down less than 1 second, long_click after holding down more than 1 second and double_click after clicking twice within 1 second. These times cannot be adjusted further and if you don't like them you will have to use my slightly more cumbersome way of designing the buttons and the timers yourself.

    Enjoy. 🦋

This discussion has been closed.
Back To Top