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

1235724

Answers

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

    You can find a lot of documentation in the www, all about qml and how to incorporate javascript. It's a lot of stuff though, and a lot of the code NI uses is not in the qml files but hardcoded in the exe file. NI never provided any documentation.

    I will place MIDIknobs 1-4 and MIDIknobs 5-8 assignments in the appropriate locations and remove any MIDIbuttons and MIDIfaders instances from the code and clean it up. ...

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


    Done, only MIDI Knob values ( 1-4 for GRID (0.000 / 0.500) and TOUCH (0.500 / 1.000), 5-8 for TURN (0.000-1.000) ). 🦋

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

    Thanks for the undate Sûlherokhh. Just managed to test all four decks properly and I think there is a bug. It seems that the Jog Touch message is getting triggered regardless from the Deck being selected.

    1. Have GRID button enabled on both A and C (or B and D side).
    2. Map something to the Jog Touch message.
    3. Touch the Jog and observe the results.

    -Both Decks are triggered simultaneously.

    -Only the selected Deck should be triggered.

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,827 mod
    edited July 2023

    Will do

    Confirmed. Same with the wheel turning knob 5-8 values btw. Investigating.

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

    I missed placing Top/Bottom-Deck condition on the JogTouch and the JogTurn assignments. According to my testing, this should solve it:

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

    Niiiiice, that solved it. This is an amazing work so far!

    I would also like to say big thanks to MadLee who posted original question about remapping the jog wheel, otherwise we would not manage unlock the jog wheels.

    Also the Sample Page modifier can be used to hold 4 different effect presets which is perfect. That leaves 8 buttons and 8 faders to work with. That is a great find!

    I just mapped SHIFT + FX buttons 1-2-3-4 to select one of the Sample pages and have the same command output to indicate the LED in default mapping. And then using the same modifier condition in a midi mapping to tell the jog wheel which preset is currently selected.

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

    That's cool stuff, very nice to hear! I'm glad this collaboration is spurring your creativity. Also i'm surprised that you didn't stumble on the SamplePage condition earlier. It's working like this ever since the first implementation of RemixDecks, in 2.65 i think. If you use them, maybe leave 1 or 2 unused, in case a user of that mapping wants to employ Remix Sets. Unless this is going to be all for your own enjoyment only. ^^

    I'm glad MadLee kicked this off. I've been wanting to do something with the JogWheels ever since adapting Joe's ScreenMod to adjust the MasterTempo with the JogWheels. But this is even better, a universal tool for MIDI-mapping. I am sure it will come to good use.

    Btw, i can still make the standard GRID functions available, maybe by using GRID+HOLD, activating the JogFX by a short tap only. And then there is the double TAP, which i figured out recently to combine with the use of a single button. So, if you have any ideas what to bind an additional overlay, just shoot. I think i am going to go ahead and put the button in re-enable the GRID-adjust in the next few days, maybe throw in the TapDeck-function for SHIFT, which i am really missing since the Mk3 models came out.

    🦋

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

    Sûlherokhh The Sample Page modifier is not that often used in my mappings, I use normal modifiers for that when ever possible since id gives me more freedom. I did not test but the Quantize Size out but I did use the Salected Sound out in the past to split the ouput signal into 16 equal ranges for one of F1 mappings (from Deck A).

    I will keep the Sample Page modifier in mind for the default mappings.

    I noticed ghost messages on the jog wheels when my S4 is angled but I'm sending value 0 back to the MIDI knob when ever it happens and jog is not touched. No such issue when the S4 is sitting flush so I think it is just a hardware thing. Which is now easily solvable by mapping thanks to your work :)

    Happy days for my S4!

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,827 mod
    edited July 2023

    The jogwheel has a movement safety zone for the MIDI knob that is a lot smaller (minimalTickValue = 0.0005) than the standard GRID-adjust function (minimalTickValue = 0.0035).

    You can increase it and see if that makes the controller less vulnerable to expected vibrations (line 123):

      Wire {
        enabled: module.active && gridAdjustEnableProp.value;
        from: "%surface%.jogwheel.rotation";
        to: EncoderScriptAdapter {
          onTick: {
            const minimalTickValue = 0.0005;
            const rotationScaleFactor = 1;
            if (value < -minimalTickValue || value > minimalTickValue)
              midiKnob5678.value = midiKnob5678.value + value * rotationScaleFactor;
          }
        }
      }
    

    The line directly below (rotationScaleFactor = 1) determines the rate of change of the MIDI knob value, if you wish to play with that.

    Happy days. 🦋

    Edit: qml with the following changes:

            const minimalTickValue = 0.002;
            const rotationScaleFactor = 0.8;
    

    You will have to move the jogwheel slightly faster for the MIDI knob to respond.

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

    Keeping the qml as it is for now since I was able to solve those "shakes" in mapping. Current sensitivity/acceleration is great and while the performance is a little laggy (but I think it is just my unit which always had issue with laggy screens as well) it is still better than I could expect.

    I am not sure if MIDI Faders are coded in greater resolution than the MIDI Knobs, with MIDI I could not notice a big difference.

    I made a quick video to show working concept. Presets are changed with the top FX buttons.

    Oh and if there is a way to disable the screen completely, please let me know, the flicker is terrible and knowing NI this will be reoccuring bug. Need a way/option to disable the screen at any time...


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

    It should be possible to make the screen show nothing but black pixels with a press of a button (or better, SHIFT+ button). I will investigate. That flicker is unbearable to look at.

    And that concept is looking awesomely cool! I have to admit i miss the days of my S4Mk2 just for the JogFX. But it's in good hands now. ^^

    That second variant i posted is just in case for a quick try. And you can always adjust those values yourself so your S4 reacts exactly the way you want it to.

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

    First, i have the file that prevents any output to the screen. It will still show the S4 Logo underneath that is hopefully not blinking. All black would be a lot more work. The file belongs in the same directory as the other one. I commented out a single line (line 123):

     // Wire { from: "screen.output";  to: "%surface%.display" }
    

    Second, as announced, is a new file for the jog wheel, which you can try out if you like what it does in addition to the established MIDI signals in JogFX mode:

    • When holding the GRID button, you can adjust the beat grid (as implemented by NI) without going into JogFX mode.
    • White colour of the GRID button indicates the beat grid can't be adjusted (grid is locked / it's a remix deck, etc.)
    • Pressing SHIFT activates the GRID-TAP function (like the old S4). As usual, you have to hit SHIFT at least 4 times for the grid to change.

    I hope this is of use to you. Enjoy. 🦋

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

    Thanks for the update! I managed to test yesterday and have feedback.

    -The screen is showing logo and no flicker so far, great work.

    -The new GRID button options are welcome. I was going to suggest it.

    -Pressing the SHIFT multiple times can be issue. Hold SHIFT while tapping the opposite SHIFT button would be my choice for this feature.

    -When moving slowly, the jog wheel doesn't seem to react. It could be something you changed last time, previous version was working fine.

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,827 mod
    edited July 2023

    Great to hear the first two sections are a fit.

    The TAP on shift is more cumbersome and would probably involve at least one more file to adjust, so i plugged in the condition HOLD GRID + SHIFT instead of HOLD SHIFT(ALT) + SHIFT. Have a go.

    The jog sensitivity was my mistake. Corrected back to the values you found best.

    Edit: The file ^^

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

    The sensitivity is fixed, thank you. This sensitivity value setting really works the best.

    I grid my tracks with Twister prep tool so I don't really need any grid/tap controls in this mapping. Instead, it would be more useful to have GRID HOLD to control the MIDI Fader instead the Grid Move. And please completely remove the GRID TAP feature as well as this is a performance oriented mapping focused on what cannot be done with the S4 MK3 by default.

    -Ability to deactivate the GRID button JogFX mode by sending value 0 to the corresponding MIDI Knob.

    -Ability to Control a MIDI Fader by holding GRID and turning the jog wheel.

    -Ability to have GRID HOLD button action when JogFX mode is activated. (currently you can hold the GRID button only if it is deactivated previously)

    -Remove all Grid based controls.

    Happy to support your work.

Back To Top