TP3 and S5 and external audio interface - how to make work CUE VOL, CUE MIX, MAIN OUT VOL,.. knobs

Kubrak
Kubrak Member Posts: 3,074 Expert

I would like to know how to make to work few knobs that work if S5 is used as audio interface, but do not work, if external interface is used.

If using just S5 I may adjust CUE VOL, CUE MIX, MAIN OUT VOL, AUX VOL by respective S5 knobs. But it does not affect knobs in TP3 SW interface, they do not move…. There is MIDI activity and knobs do what expected, except for corresponding movement in TP3 interface.

But if I use other audio interface than S5, those knobs do nothing. :-(

I guess, something has to be set differently somewhere, but what and where?

It should not matter, what interface I use, just for complete info…. It is RME Babyface Pro FS, it is generally 4 in and 4 out and beside that 8 ADATs in/out.

I am mixing inside Traktor. If I use "knobs" in TP3 interface, everything works. But I would like physical knobs on S5 as it is more comfortable and I am used to using them.

Best Answer

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,888 mod
    Answer ✓

    I rechecked and different from the S4MK3, the cue volume knob can also be accessed. To directly address the software knobs from the hardware when using a different audio interface i did it like this:

    AppProperty { id: cueVolume; path: "app.traktor.mixer.cue.volume" }
    AppProperty { id: cueMix; path: "app.traktor.mixer.cue.mix" }
    Wire { from: "%surface%.cue.volume"; to: DirectPropertyAdapter { path: "app.traktor.mixer.cue.volume"} }
    Wire { from: "%surface%.cue.mix"; to: DirectPropertyAdapter { path: "app.traktor.mixer.cue.mix"} }
    

    This is from 'Mixer.qml', where the string '%surface%' is defined as being 's5' from S4.qml. So the full and direct names of the knobs are 's5.cue.volume' and 's5.cue.mix'.

    Aux On/Off should still be toggled by the AUX button. If you hold down AUX you can use the browse/loop encoders to adjust the aux volume.

«13

Answers

  • Kubrak
    Kubrak Member Posts: 3,074 Expert
    edited August 2024

    I have found this on NI pages.

    https://support.native-instruments.com/hc/en-us/articles/210273405-TRAKTOR-Does-Not-React-to-the-Main-Level-or-Cue-Volume-Knobs-on-my-TRAKTOR-KONTROL-Controller

    But still, it seems to me that those knobs send also MIDI (beside physically changing things). If I turn them MIDI activity indicator in Traktor shows activity….

    So, is it possible to assign those knobs to respective virtual knobs in Traktor? And if yes, how?

  • Kubrak
    Kubrak Member Posts: 3,074 Expert

    Does someone know?

  • mykejb
    mykejb Moderator Posts: 1,855 mod

    I thought the physical knobs for those were hardwired rather than controlling the software. I can check on my S8 later when I get back from the office.

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

    The S5 is the only controller that is missing the option to override the controls with assignments on the default mapping. But i think you can use the MIDI mode. Now to your questions:

    The volume knobs for MAIN and CUE a off limits (they address the internal soundcard outputs directly), the CUE MIX knob can be assigned in the qml files, but not in MIDI mode.

    The software knobs are only accessible if you don't set the S5 soundcard as output in preferences. As soon as you do, they are greyed out and not used. It's the same with the other all-in-one NI controllers.

    I know all this because i've tried this with all S4 variants as well as the S5 for the same reason you are now, in all possible permutations.

  • Kubrak
    Kubrak Member Posts: 3,074 Expert

    Sûlherokhh thanks a lot.

    The volume knobs for MAIN and CUE a off limits (they address the internal soundcard outputs directly), the CUE MIX knob can be assigned in the qml files, but not in MIDI mode.

    1. I have read that MAIN and CUE are hardwired and so unusable…. But if S5 is not selected as audio interface they seem to send MIDI to Traktor. At least MIDI indicator blinks if they move. So, cannot it be that they cannot be mapped if S5 is used as audiointerface, but may be mapped if it is not used as interface?

    I may live with MAIN and CUE rotaries not working and set it on other interface, but would be handy to do it on S5. If possible.

    2. Concerning CUE MIX. How to make it work in Traktor using qml? Which of qml files and what to add and where?

    It would be handy to have worging CUE MIX as it is hard to do it in.

    3. If hacking qml. It would be also handy to make AUX button switch on and off AUX input of external interface (in Traktor) and also if AUX+ Rottary sets AUX virtual button. Or if there is another means to set AUX strenght.

    @mykejb Thanks. Yes they are hardwired, but also seem to send MIDI. At least if S5 is not set as audio interface.

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 2,888 mod
    Answer ✓

    I rechecked and different from the S4MK3, the cue volume knob can also be accessed. To directly address the software knobs from the hardware when using a different audio interface i did it like this:

    AppProperty { id: cueVolume; path: "app.traktor.mixer.cue.volume" }
    AppProperty { id: cueMix; path: "app.traktor.mixer.cue.mix" }
    Wire { from: "%surface%.cue.volume"; to: DirectPropertyAdapter { path: "app.traktor.mixer.cue.volume"} }
    Wire { from: "%surface%.cue.mix"; to: DirectPropertyAdapter { path: "app.traktor.mixer.cue.mix"} }
    

    This is from 'Mixer.qml', where the string '%surface%' is defined as being 's5' from S4.qml. So the full and direct names of the knobs are 's5.cue.volume' and 's5.cue.mix'.

    Aux On/Off should still be toggled by the AUX button. If you hold down AUX you can use the browse/loop encoders to adjust the aux volume.

  • Kubrak
    Kubrak Member Posts: 3,074 Expert

    Sûlherokhh

    Thanks a lot!

    No, AUX on/off does not work if other audiointerface is used. AUX signal goes throught despite the state of AUX button. Generally it is OK, I may use switch on mic. Just it would be handier if AUX button works the same way like if S5 is used as audiointerface.

    And while AUX+loop encoder shows and allows to change value indicated by LEDs on the touchstripe, it does not change the value in Traktor (it does not turn AUX virtual knob in Traktor interface and does not change the strenght of signal in mix).

    Would there be a way to hack it in qml and make AUX button on/off and AUX+loop rottary work the same way it works when S5 is used as audiointerface?

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

    I don't think so. I perused the Traktor.exe file for hw designations, qml functions and their arguments a few months back. But i will have another look specifically for those assignments. If i find anything i will get back to you.

    Now have your way with the cue monitor controls! :P

  • Kubrak
    Kubrak Member Posts: 3,074 Expert
    edited August 2024

    Thanks, if you have a look. It would be handy. The most valuable would be any way to set AUX volume in Traktor. It may be different way to set from what S5 uses.

    I may live without AUX on/off, it would be just cherry on the cake.

    I will try to "incorporate" your code to qml file. I hope I will succeede as it is my first attempt to do so!

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

    Awsome. I'll help you if you run into trouble.

  • Kubrak
    Kubrak Member Posts: 3,074 Expert

    Sûlherokhh

    I have tried my best, but no success. :-(

    I have modified the file Mixer.qml in folder

    C:\Program Files\Native Instruments\Traktor Pro 3\Resources64\qml\CSI\S5

    I hope it is the right one. I have tried many different modifications, but nothing…

    import CSI 1.0

    Module
    {
    id: mixer
    property bool shift: false
    property string surface: ""

    // Master Clock
    MasterClock { name: "MasterTempo" }
    Wire { from: "%surface%.mixer.tempo"; to: "MasterTempo.coarse"; enabled: shift }
    Wire { from: "%surface%.mixer.tempo"; to: "MasterTempo.fine"; enabled: !shift }

    // Channels
    Channel
    {
    name: "channel1"
    surface: "s5.mixer.channels"
    shift: mixer.shift
    number: 1
    }

    Channel
    {
    name: "channel2"
    surface: "s5.mixer.channels"
    shift: mixer.shift
    number: 2
    }

    Channel
    {
    name: "channel3"
    surface: "s5.mixer.channels"
    shift: mixer.shift
    number: 3
    }

    Channel
    {
    name: "channel4"
    surface: "s5.mixer.channels"
    shift: mixer.shift
    number: 4
    }

    // Xfader
    Wire { from: "%surface%.mixer.xfader.adjust"; to: DirectPropertyAdapter { path: "app.traktor.mixer.xfader.adjust"; } }

    // Snap / Quant
    Wire { from: "%surface%.mixer.snap"; to: TogglePropertyAdapter { path: "app.traktor.snap"; } }
    Wire { from: "%surface%.mixer.quant"; to: TogglePropertyAdapter { path: "app.traktor.quant"; } }

    // Master Clip
    Wire { from: "%surface%.mixer.clip.left"; to: DirectPropertyAdapter { path: "app.traktor.mixer.master.level.clip.left" } }
    Wire { from: "%surface%.mixer.clip.right"; to: DirectPropertyAdapter { path: "app.traktor.mixer.master.level.clip.right" } }

    //ZK240913 - Add: Cue Volume & Cue Mix
    // AppProperty { id: cueVolume; path: "app.traktor.mixer.cue.volume" }
    // AppProperty { id: cueMix; path: "app.traktor.mixer.cue.mix" }
    // Wire { from: "s5.cue.volume"; to: DirectPropertyAdapter { path: "app.traktor.mixer.cue.volume"} }
    Wire { from: "s5.cue.mix"; to: DirectPropertyAdapter { path: "app.traktor.mixer.cue.mix"} }
    }

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

    You mean cue.mix doesn't work?

    If so, can you try this?

    Wire { from: "%surface%.cue.mix"; to: DirectPropertyAdapter { path: "app.traktor.mixer.cue.mix"} }
    

    "C:\Program Files\Native Instruments\Traktor Pro 3\Resources64\qml\CSI\S5\Mixer.qml" is the correct file.

  • Kubrak
    Kubrak Member Posts: 3,074 Expert

    Sûlherokhh

    I have tried that as first of trials. (I was lazy to replace %surface% by S5.) It did not work.

    Cue Vol also does not work at all with that script. (If not in comment.) But I guess it cannot work as Traktor shows MIDI activity only when passing middle position of volume knob and for the rest of movement Traktor MIDI indicator does not show any activity…..

    Also AUX on/off does not do anything (it sends MIDI to Traktor), AUX is always on.

    And it is not possible to move AUX vol Traktor virtual button using AUX+Loop rotary (but it is not possible even if S5 is choosen as audio interface).

    Maybe that MIDI signals from those HW elements are blocked in Traktor….

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

    Strange. The HW knobs for mix/vol cue work for me when i use the code in Mixer.qml.

    Please uncomment these two lines:

    // AppProperty { id: cueVolume; path: "app.traktor.mixer.cue.volume" }
    // AppProperty { id: cueMix; path: "app.traktor.mixer.cue.mix" }

    to

    AppProperty { id: cueVolume; path: "app.traktor.mixer.cue.volume" }
    AppProperty { id: cueMix; path: "app.traktor.mixer.cue.mix" }

    See if that helps.

  • Kubrak
    Kubrak Member Posts: 3,074 Expert

    Sûlherokhh

    No, it does not work for me, I have tested it already. Maybe that S5 handles it differently than others Traktor controllers. :-(

    My theory is that as S5 does those things internally without need for Traktor, the signals from those knobs/buttons are somehow blocked in Traktor. But still Traktor MIDI indicator shows traffic if I move them.

    So, I either do something wrongly, or it is not possible to hack it by modifying qml file.

    And what about to use other MIDI controllers? I have Microsoft Surface Dial it may send MIDI and is good size. Or any other MIDI controller. How to make them operate desired knobs in Traktor?

    https://savethehuman5.com/elephant/

Back To Top