Mapping something (e.g. loop size/out) to jog wheel

11719212223

Answers

  • DuneArchitect
    DuneArchitect Member Posts: 19 Member
    edited December 2023

    Yep that was understood: one direction does negative values and other positive. And apparently turns of the jogwheel will emit really small values, even such as 0.00001

    However I have now run into a new snag:

    Based on my testing, even using the format browserListSelectProp.value = browserListSelectProp.value + 1; , the minimum jump on the browser list is always two items. Therefore, it somehow seems impossible to have fine grained control jumping from 1 list item to the next. I tried using smaller values, but again it seems there is rounding in place where x + 0.5 has the same behavior as 1, and x + 0.4 does no movement at all.

    EDIT:

    As I wrote this I had an idea, and it turned out correct! Simply setting the browserListSelectProp.value to either 1 or -1 will move the list up or down. So now just tuning the minimal and maximal tick value is all that's needed! Again thank you so much @Sûlherokhh for the help, I'm so stoked to have been able to achieve this despite NI removing the mapping from the controller editor.

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

    Awsome! Great you found a solution. Happy to assist. :)

  • DuneArchitect
    DuneArchitect Member Posts: 19 Member

    Hello again @Sûlherokhh !

    So now I've run into a problem where, I need a global property, ie. one that can be read anywhere, but the global MappingPropertyDescriptors seems to have trouble being read from when theyre defined outside the file.


    Example: I've created a MappingPropertyDescriptor of type boolean to track if the browser is full screen in the S4MK3.qml file. I want to toggle this property when the view button is pushed on either Deck, using the S4MK3Deck.qml file.

    I'm able to set the value of this property, and when it's read in the 'enabled' field of a Wire, it appears to be set and read correctly. However the following is failing, which makes me think here it is not being read correctly:

    `myFullScreenProp.value = !myFullScreenProp.value`

    Furthermore when I've defined my haptic tension prop in the S4MK3.qml file and want to store the value for toggling, this is also not read correctly and it always jumps back to 0. This does not happen when the MappingPropertyDescriptor is defined in the S4MK3Deck.qml file.

    Do you have any experience with altering and reading a global property descriptor from another file?

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,627 mod
    edited December 2023

    Defining it in the base file for the controller (S4MK3.qml in this case) should be enough.

    You could try this:

    if (myFullScreenProp.value == true) myFullScreenProp.value = false
    else myFullScreenProp.value = true
    
  • DuneArchitect
    DuneArchitect Member Posts: 19 Member

    Yeah I thought about using something like that, testing for the unset value. Thank you. I'll probably go that route.

    Also as a backup, I wanted to have Shift+View always set the value to true (for example if the App started in fullscreen already), but for some reason the following does not perform any given action when Shift+View is pressed:

    Wire {
      enabled: module.shift;
      from: "%surface%.browse.view";
      to: ButtonScriptAdapter {
        onPress: {
          // some really obvious action like maxing haptic tension
        }
      }
    }
    

    That does not work when pressing Shift+View. However adding !module.shift instead, it does work. Also I have other functions elsewhere that rely on enabled: module.shift , so I'm not sure why the View button seems to not like it.

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

    Maybe you should not use MappingPropertyDescriptor for the fullscreen value. Rather use

    AppProperty { id: myFullScreenProp; path: "app.traktor.browser.full_screen" }
    


  • DuneArchitect
    DuneArchitect Member Posts: 19 Member

    Yes using the App property did it, thank makes more sense thank you. Still confused about how / why the reading of that MappingPropertyDescriptor wasn't working quite as expected, but that maybe will reveal itself with time. (Also why Shift+View seems to not register, I'm guessing something we can't see in the QML files overrides that combo)

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

    Upload the changed files, so i can have a look. I have an idea what may be the problem and it's solution.

  • DuneArchitect
    DuneArchitect Member Posts: 19 Member

    Well I was going to link you the diff, but unfortunately I'm not able to post links

    Uploading the CSI folder zipped:


  • mg_1978
    mg_1978 Member Posts: 31 Helper

    Hi... about S4 mk3 remix deck i have this question: is there possibility to add gain control in each remix cell? For example in LegacyRemix mode holding pads 5 + Loop Size Encoder i would change gain in sample cell slot 1....thanks!

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,627 mod
  • mg_1978
    mg_1978 Member Posts: 31 Helper

    ok…but in Joe Easton Mod it is possible 👍 only that i prefer Aleix Mod…

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

    Yes. There are commands usable in the qml code, just not with MIDI-mapping. I am not current on the Supreme-Mod development regarding the S4MK3. I would not be surprised if Aleix already put in place code for gain adjustment of sample cells for it, but being unable to fix those bugs without the controller at hand.

  • Quade
    Quade Member Posts: 245 Advisor

    Hey @Sûlherokhh

    Dumb questions to ask.

    Is there a Tool To run alongside Traktor Pro to half the bpm of the tracks in bulk?

    If NOT

    Is there a faster method to go through Traktor's playlists to half the bpm of the tracks?

    Is there a tool to run alongside Traktor Pro to set the beat grid right at the beginning of each track & add least 3x cue points, then skip to the next track & repeat?

    Is there a tool to allow Or Run alongside Traktor to add 8x different color cue points & not the standard Blue color?

    Lastly, other than "TraktorAutoNextSong" which is for MAC & NEXT https://www.native-instruments.com/forum/threads/next-track-recommendations-and-playlist-database-for-traktor.310708/

    Is there ANY other tool (Windows) that would run alongside Traktor Pro to find a matching song from your database?

    I have however mapped a keyboard shortcut to half the track's bpm. Just looking for an easier method of going about this.

    Thanks for you input. Much appreciated In Advance.

    Warm Regards

Back To Top