(Traktor: Multi Function Button) The working list of bad combos and workarounds

I don’t use traktor, I use vdj, but couldn’t you just use an aftertouch drum pad like akai lpd8 which a couple of you have, to send a cc message instead of a note on/off button.

Surely there is a way to say at such and such a position of a knob to trigger an action. In VDJ it would be easy, just

param_equal 1% ? action 1 : param_equal 2% ? action 2 : param_equal 3% ? action 3 etc…

although to make it not retrigger on release you would need to set a variable at the end that cancels at the start.

param_equal 0% ? set ‘ccoff’ 0 : var ‘ccoff’ 1 ? nothing : param_equal 1% ? action 1 : param_equal 2% ? action 2 : param_equal 3% ? action 3 : param_greater 50% ? set ‘ccoff’ 1

in people talk its

if cc is at 0% deactivate ‘ccoff’
if ‘ccoff’ is active - do nothing, otherwise
if cc is at 1% do action 1, otherwise
if cc is at 2% do action 2, otherwise
if cc is at 3% do action 3, otherwise
if cc is greater than 50% set ‘ccoff’ active

In vdj, it always reads from the start of the script, but because this is a cc note you will hit the same invervals twice so the ‘ccoff’ shift will prevent it from retriggering when coming back down again, this would then be canceled at the start of the cc value’s, so the button will work again when pressed

‘ccoff’ is just a toggled variable, again I don’t know how traktor operates, but It would all happen in a split second at different intervals. Which is what I think you’re after.

if it doesn’t work I guess I’ll see you all as vdj users, because when the effects are sorted it will leave traktor way behind in its functionality, because this is a workaround that you wouldn’t even need to use as you can do multiple things at once in a consecutive order. and djdecks should bring automation to the table. I’m pretty excited about it :slight_smile:

Good luck

Yep, ‘inverted direct’ has been around for quite a while. Manual doesn’t mention it (it just says you can invert toggle and hold) but the Traktor Bible covers it.

Thanks!

But not everyone owns an aftertouch drum pad:slight_smile:

Even if they did, in Traktor we don’t yet get to trigger events at specific CC values yet.

I am told VDJ is far advanced than Traktor in some respects and perhaps this is one of those.

Many more than just the manual seem to not mention it, and Traktor Bible is neither free nor cheap. More like “has been hidden for quite a while now”:slight_smile:

Don’t claim to be the first to discover at all. Just want everyone enthusiastic about mapping to know:slight_smile:

true. it does help some things anyway. there is good info at the traktorbible site btw - maybe even more insight into what gets processed in what order etc. not sure.

my issue is that i need a single control in fader mode to set the effect for each fx unit and then ofc i just send a single message to traktor where the velocity specifies what effect i want. any workarounds involve sending more than a single message in some shape or form.

that experiment does prove one thing tho… that traktor doesn’t need more than the 3ms to change/enable a different fx panel mode.

as for the 2ms delay working most of the time but not all, yep i am sure traktor uses some absolute time and it depends on what frame within that the first message occurs in.

yep. from what i’ve read u can do some very cool stuff in configs in vdj. the name “virtual dj” is probably the worst thing about that app :stuck_out_tongue: now they’re merging code with djdecks it might get even more interesting with the next version. pcdj also has more advanced scripting options than traktor i think.

the effects in traktor are unbeatable tho - at least for now - plus i don’t fancy shelling out for new software right now. i might consider torq or the new vdj tho when they come out. torq looks very cool and has a nice xml config format but not sure about actual scripting in there.

u can also script in the free mixxx ofc. so traktor is probably one of the worst apps in this area.

@MiCL… It’s all good. And to have a video of it more so! FWIW, as it’s been around for a while, and because the manual describes ‘invert’ for hold and toggle correctly as active on button release, I’d suggest the bug is simply the absence of invert from the GUI: I don’t think the actual behaviour of the function will change

I’m not following… but I am curious, can you explain a bit more about your issue?? Are you talking about a button or a fader? And what does it do? Sorry for my poor comprehension. A specific example would really help.

…

I used to not like the effects in Traktor because they felt more studio oriented than live performance – just turning the dry/wet nob usually didn’t produce interesting results. But now I’m sort of grateful for this because that’s exactly what got me into custom mapping and TouchOSC. I would have been a total newbie in this area if Traktor had a really cool filter + effect or something by default. :stuck_out_tongue:

That’s really soothing to hear… thanks.

The last bit of fear that remains in me is due to the fact that the direct mode itself is sort of buggy… Has anyone ever noticed? If you set a control to button/direct/X(=value), and then to fader/direct, the fader acts like a direct button – any movement just triggers the value X, and is eternally damaged. The only way to fix this is to delete the control and map it again, staying away from button/direct. So… when the programmers finally got around to de-bugging this flaw in direct mode… oh I pray that they fix the GUI and not the behavior of invert like you say!

so i have a mapping in traktor to set the effect for the fx unit with mode set to “fader”. in that mode the actual effect set depends on the value of the note/cc sent out to it as you’d normally be using that from an actual fader. i just send a single midi message to traktor to set the effect i want.

so this code:

send("traktor", "effect_select_unit_1", traktor.fx["Gater"])
send("traktor", "effect_select_unit_1", traktor.fx["Reverb"])

sends out this midi to traktor:

[traktor   ] effect_select_unit_1 c=3 v=20 p=0
[traktor   ] b2 4c 14 [traktor]
[traktor   ] effect_select_unit_1 c=3 v=80 p=0
[traktor   ] b2 4c 50 [traktor]

i.e: only the value/velocity changes, the 3rd byte. it’s the same control in the tsi.

and what i want to be able to do, to switch the panel mode to single and then select an effect is with this:

traktor.fx_control{ unit = 1, mode = "single", fx = "Gater" }

which basically is a wrapper for this:

send("traktor", "fx_panel_mode_unit_1_single", ON)
send("traktor", "effect_select_unit_1", traktor.fx["Gater"])

which sends out this midi:

[traktor   ] fx_panel_mode_unit_1_single c=6 v=127 p=0
[traktor   ] b5 05 7f [traktor]
[traktor   ] effect_select_unit_1 c=3 v=20 p=0
[traktor   ] b2 4c 14 [traktor]

but won’t work when the effects unit is in group mode, i.e: it does change the mode but not the effect. even when i put a delay in there - which is the really odd thing.

[quote]
I used to not like the effects in Traktor because they felt more studio oriented than live performance – just turning the dry/wet nob usually didn’t produce interesting results. But now I’m sort of grateful for this because that’s exactly what got me into custom mapping and TouchOSC. I would have been a total newbie in this area if Traktor had a really cool filter + effect or something by default. :stuck_out_tongue:[/quote]

the filters aren’t bad in the fx units and i quite like the mixer section filters too. the effects i tend to like the most are the only school ones tho i guess like gater+delays. having all the effects synced to the beat is great tho - something i guess u don’t get with other dj apps that let u use external plugins.

i haven’t seen that but i did have a control “eternally damaged” the other day. it was my mapping for changing the fx for unit1 when in single mode. all settings looked ok but it just didnt work. the only fix was to delete and dupe/edit it from the unit2 one. but somehow (without me editting anything in the controller manager at all) this happened twice more. extremely annoying…

yep all good research and info i reckon :slight_smile:

plus most of the good info from the traktorbible site is only in the actual printed book itself i thought? personally i don’t like printed manuals but i’d pay cash (just not as much as 30eur) for a softcopy. does it have that option?

Ah, I gotcha… probably… You have a CC or note pre-mapped in Traktor controller manager in Fader mode, so that you can send value changes from midimasher to select the effect. Did I get you right?

If in essence what you want is a button that changes the panel mode to single and then select Gater, you can do that with the inverted direct. But I know you couldn’t have possibly missed that… so are you basically saying that “you, personally, since you have all the controls pre-mapped in a certain way will not benefit from the inverted direct”? That seems too obvious to be right… Bare with me and elaborate when you have a spare moment!:open_mouth:

Zestoi… I am slowly understanding what’s going on… I think you’ve been saying the same thing all along. Sorry for taking time to understand, I should have familiarized myself with beatmasher and then would have probably communicated much better.

Anyway, you say your panel mode Single / FX select Gater doesn’t work even with a delay right? Does it even work when you push the button for the second time? Could be that the Traktor mapping is damaged again, no?

yep - exactly

[quote]
If in essence what you want is a button that changes the panel mode to single and then select Gater, you can do that with the inverted direct. But I know you couldn’t have possibly missed that… so are you basically saying that “you, personally, since you have all the controls pre-mapped in a certain way will not benefit from the inverted direct”? That doesn’t seem right… Bare with me and elaborate when you have a spare moment!:open_mouth:[/quote]

yep, i said i a previous post that i could create heaps more mappings in traktor but it’s not really practical. consider this example:

traktor.fx_control{ unit = 1, mode = "group", fx1 = "Gater", fx2 = "Reverb" }

traktor.fx_control{ unit = 2, mode = "group", fx1 = "Peak Filter", fx2 = "Beatmasher 2", fx3 = "Turntable FX" }

and u start to see why :wink: i’d need every combination of fx select and panel modes. that’s a whole heap of controls to map in traktor instead of what i have right now. plus i’d still need the existing ones so someone could map a fader to change effects.

Yes! I think I finally got you 100%

But consider this. In the end, it’s all about getting everything we want on to our physical controller - you can agree to that, right?

So, if making a heap more is the only solution, perhaps it’s time you start mapping away in that miserable tiny cumbersome Traktor widow, no?:smiley:

That was stupid of me… What’s practical is to use your all-round midimasher where it works best, and send midi directly to Traktor for special occasions you want to use the inverted direct…

it didn’t work when i tried the other day, i’ll have to try again tho. i’m sure with some amount of delay and maybe also sending an off message for the panel mode command it has to work.

ofc it’s only really a big deal if someone needs a panel to be changing modes often which isn’t really all that common except when using some panels units for some instant effects type stuff.

for the post fader fx it seems neat to keep unit 1 in single mode. the only pain is that the instant grat tsi uses unit 1 in group mode, tho i’m not a great fan of that it’s still quite fun sometimes :slight_smile:

or just live with the fact that u need to press the button twice to change panel mode and select the fx unless - not really a big deal - but i’d stiill like to solve ofc :d

it must work tho with some combination of delay+noteoff in there anyway. i will go back to looking at that sometime, esp once i have finished the queuing functionality in midimasher as atm any delays delay everything as it’s running in a single thread. i’m adding in the option to send out a message with a delay, which will then get queue’d up and send out later.

actually no :stuck_out_tongue:

since there’s 32 effects available and we can choose any 3 of them in any order that’s a total of 29760 permutations per effects unit in group mode… so i’d be looking at having to add somewhere around 120,000 new mappings which i don’t think is quite practical :smiley:

I never said practical:sunglasses:

Mapping every single possibility to Traktor in order that you can do everything from beatmasher sort of defeats the purpose. Well maybe not, if NI supplies us with that .tsi :smiley:

I emulated your set up, by the way, and it works fine so it’s probably the delay time or damaged mapping. The messages sent to Traktor are identical to what you explained.