Quick Sign In:  

Forum: VirtualDJ Technical Support

Topic: Kontrol Z2 custom mapping
Ok now that I have the perfect custom mapping for my LC6000s, I am looking to finalize the perfect mapping for my Traktor Z2 for my workflow.

I would like my Z2 to have the following behavior for these functions:

Browse Push:
- if the focus is on folders:

pressing puts the focus on the tracks in the selected folder

Shift+Browse Push allows you to enter/exit in a subfolder

- If the focus is on the tracks of a folder, pressing again puts the focus back on the folders instead of loading a track (the load A & B buttons are there for that)

Hotcues banks:
Hot A displays the first 4 hotcues of the track loaded on deck 1. A second press on Hot_A displays the next 4 hotcues (by default you must alternate between Hot_A and Hot_C)

Hot_B should have the same behavior but for the track loaded on deck 2.

As I rarely use more than 2 decks I would like Hot_C (for deck 1) and hot_D (for deck 2) to switch the Z2 pads to Stems mode rather than Hotcue

In this mode The first 4 pads are assigned as follows:
Hot_1 = Vocal
Hot_2 = Instrument
Hot_3 = Bass
Hot_4 = Accapella only

A second press on Hot_C or Hot_D depending on the chosen deck allows you to switch to a bank of the following 4 pad stems
Hot_1=kick
Hot_2=Hithat
Hot_3= Stems FX
Hot_4=Instrumental only

LED pads:
(LED_HOT1/LED_HOT2 etc....to
The pads take on the color of the hotcues when activated but are turned off when a Hotcue is deleted. I would like the pads to keep the colors of the corresponding hotcues when they are deleted (example pad 4 = hotcue color 4) but with a brightness of only 30% instead of 100%

I know it's a big part of the work but it will help me a lot to improve my workflow.

Any help will be appreciated
 

Posted Tue 19 Dec 23 @ 3:15 pm
Browse push: browser_window 'folders,songs' +1
SHIFT Browse push: browser_folder

HOT_C: var_equal 'whcues' 1 ? set 'whcues' 2 : set 'whcues' 1
HOT_D: var_equal 'whcues' 1 ? set 'whcues' 2 : set 'whcues' 1
LED_HOT_C: var_equal 'whcues' 2 ? blink : var_equal 'whcues' 1
LED_HOT_C: var_equal 'whcues' 2 ? blink : var_equal 'whcues' 1

HOT_1: var_equal 'whcues' 2 ? stem_pad 'kick' : var_equal 'whcues' 1 ? stem_pad 'vocal' : shift ? delete_cue 1 : hot_cue 1
LED_HOT1 var_equal 'whcues' 2 ? stem_pad 'kick' ? color 'red' : color 20% 'red' : var_equal 'whcues' 1 ? stem_pad 'vocal' ? color 'blue' : color 20% 'blue' : hot_cue 1 ? shift ? blink 333ms ? cue_color 1 : off : cue_color 1 : color 20% 'white'

Same logic applies to buttons HOT2, HOT3 & HOT4 with their leds
 

Posted Wed 20 Dec 23 @ 8:59 am
PhantomDeejay wrote :
Browse push: browser_window 'folders,songs' +1
SHIFT Browse push: browser_folder

HOT_C: var_equal 'whcues' 1 ? set 'whcues' 2 : set 'whcues' 1
HOT_D: var_equal 'whcues' 1 ? set 'whcues' 2 : set 'whcues' 1
LED_HOT_C: var_equal 'whcues' 2 ? blink : var_equal 'whcues' 1
LED_HOT_C: var_equal 'whcues' 2 ? blink : var_equal 'whcues' 1

HOT_1: var_equal 'whcues' 2 ? stem_pad 'kick' : var_equal 'whcues' 1 ? stem_pad 'vocal' : shift ? delete_cue 1 : hot_cue 1
LED_HOT1 var_equal 'whcues' 2 ? stem_pad 'kick' ? color 'red' : color 20% 'red' : var_equal 'whcues' 1 ? stem_pad 'vocal' ? color 'blue' : color 20% 'blue' : hot_cue 1 ? shift ? blink 333ms ? cue_color 1 : off : cue_color 1 : color 20% 'white'

Same logic applies to buttons HOT2, HOT3 & HOT4 with their leds


Thanks George for the help

So, as for the browser push it's ok, not having a Shift browse push entry I simply modified the Browse_Push entry like this:

Shift? browser_folder: browser_window 'folders,songs' +1

And it works perfectly :)


On the other hand, I have a little more concerns regarding the pad assignment part.

I made the following mapping according to the logic you indicated:

Hot_1:

var_equal 'whcues' 2 ? stem_pad 'kick': var_equal 'whcues' 1 ? stem_pad 'vocal': shift? delete_cue 1: hot_cue 1 (works good)

Hot_2:

var_equal 'whcues' 2 ? stem_pad 'hithat': var_equal 'whcues' 1 ? stem_pad 'instru': shift? delete_cue 2: hot_cue 2 (instrument works, hithat does not activate/deactivate when I press the pad, why?)

Hot_3:

var_equal 'whcues' 2 ? stem_pad 'bass': var_equal 'whcues' 1 ? stem_pad 'stemfx': shift? delete_cue 3: hot_cue 3 (bass works, stemsFX does not activate/deactivate when I press the pad, why?)

Note: here the expected behavior of stemsFX should be identical to the way it works on the LC6000 pads

Hot_4:

var_equal 'whcues' 2 ? stem_pad 'instrumental': var_equal 'whcues' 1? stem_pad 'Acapella': shift? delete_cue 4: hot_cue 4 (works good)


The LED_hot1/LED_hot2/LED_hot3/LED_hot4 part seems at first glance also to work as expected by applying the logic of your example.

Hot_C/Hot_D also works as expected since I can alternate from the first 4 stems to the next 4 with a simple press of these buttons.

However, to know which page I am on I would like depending on the "page" of stems used, the LED of the Hot_C/Hot_D buttons either changes color (but it does not seem to me that they are RGB), or that They flash (fixed on page 1 and flashing on page 2) or by varying the light intensity (100% on page 1 and for example 30% on page 2).

But it does not exist in the list of entries of LED_hotC /LED_hotD

Furthermore, I was not able to configure
Hot_A (for deck 1) and Hot_B (for deck 2) to alternate between the first 4 hotcues on one and the next 4 on a single press:

I don't really understand what whcues 0/ whcues 1/ whcues 2 etc. corresponds to.

Could you enlighten me on this?

 

Posted Wed 20 Dec 23 @ 3:14 pm
I didn't do a full dive in this when I posted yesterday.

It seems that the A/B/C/D buttons:
1) Are not RGB and therefore they have fixed colors
2) They are handled by the device firmware and therefore you cannot control their leds (for on/off/blinking) either

Finally the 'whcues' is just a variable.
Depending on the value of the variable the HOT buttons behave differently (as demonstrated in sample code)
The A/B/C/D buttons just change/set this variable.
On the original mapping this variable could only take values 0 or 1
After my changes it goes 0, or 1 or 2

The only solution I can think of right now to see what mode your HOT buttons are, is to make a button on the skin to read the variable.
 

Posted Thu 21 Dec 23 @ 10:48 am
I've managed to fix the problem of Hot_2 working in stems mode. I'd written Hithat instead of Hihat in my script (I'm probably tired).

the only problems I still have are the following:

1 - In stems mode, Hot_3 for bass/stemsfx doesn't seem to work depending on the pad page I'm on because stemsfx doesn't seem to be a recognised value like the other stems values.

Stemsfx seems to have a particular way of working, as it's not just a matter of activating/deactivating it as with the other stems, but of going through the different stemsfx assignment modes with successive presses on the pads concerned.

2 - Concerning the use of Hot_A / Hot_B
What script would I use to switch from the page of the first 4 hotcues to the page of the next 4 hotcues with a single press of these buttons?

what you have indicated for hot_C/hot_D

HOT_C: var_equal 'whcues' 1 ? set 'whcues' 2 : set 'whcues' 1
HOT_D: var_equal 'whcues' 1 ? set 'whcues' 2 : set 'whcues' 1
LED_HOT_C: var_equal 'whcues' 2 ? blink : var_equal 'whcues' 1
LED_HOT_C: var_equal 'whcues' 2 ? blink : var_equal 'whcues' 1

Doesn't seem to work with Hot_A/Hot_B.

If I could already fix these two points, I'd be happy.

Regarding the illumination of the A/B/C/D buttons, I was somewhat expecting your answer. I'll find my way around according to the series of colours I've put on the pads.

Thanks for your time George

 

Posted Thu 21 Dec 23 @ 11:54 am
Think this way:

There are 2 buttons per deck (A/B/C/D).
Also there are four HOTCUE buttons (per deck).

To have the four hotcue buttons have a different function we set a variable
The original mapper used 2 values and they were set from the A/B and C/D buttons.
Then the HOTCUE button, checked the value of the variable and depending on it's value executed different actions.

It is possible to increase the number of variables to 4
HOT_A: var_equal 'whcues' 0 ? set 'whcues' 3 : set 'whcues' 0
HOT_B: var_equal 'whcues' 0 ? set 'whcues' 3 : set 'whcues' 0
HOT_C: var_equal 'whcues' 1 ? set 'whcues' 2 : set 'whcues' 1
HOT_D: var_equal 'whcues' 1 ? set 'whcues' 2 : set 'whcues' 1

So, now the A/B/C/D buttons can provide 4 values (0,1,2,3) on the variable.

What's important at this point is how you map the HOTCUE buttons.
HOT_1: var_equal 'whcues' 0 ? shift ? delete_cue 1 : hot_cue 1 : var_equal 'whcues' 3 ? shift ? delete_cue 5 : hot_cue 5 : var_equal 'whcues' 1 ? stem_pad 'vocal' : var_equal 'whcues' 2 ? stem_pad 'kick'
As you can see, we check the variable against it's 4 possible values, and we execute different scripts.
Right now, A button switches between 0 and 3 and B button between 1 and 2
Of course you can change the numbers if you wish, but you have to do it on BOTH the A/B/C/D buttons AND the hotcues.
The point here is that the A button
1)Switches to Hotcues mode if hotcue mode was not active,
2)Toggles hotcues between banks 1-4 and 5-8 if hotcue mode is active
And the C button:
1) Will switch to "stems" mode if it was not active,
2) Will toggle between the 2 stem modes if stems mode is active.

What's a little more "tricky" now is the LED mapping:
var_equal 'whcues' 0 ? hot_cue 1 ? shift ? blink 333ms ? cue_color 1 : off : cue_color 1 : color 20% 'white' : var_equal 'whcues' 3 ? hot_cue 5 ? shift ? blink 333ms ? cue_color 5 : off : cue_color 5 : color 20% 'white' : var_equal 'whcues' 1 ? stem_pad 'vocal' ? color 'blue' : color 20% 'blue' : var_equal 'whcues' 2 ? stem_pad 'kick' ? color 'red' : color 20% 'red'

I left StemsFX last on purpose.

Please tell me what you want the button do, how you want/expect it to behave, and I may come back with a solution for you.
 

Posted Fri 22 Dec 23 @ 12:12 pm
Hello George, thank you very much for your help,

So for stemsfx

In fact I just want it to behave on the z2 pad exactly as when you click on the pad on the screen.

If stems FX is not activated, the LED remains white at 20%.

Pressing the pad activates stemsfx on the vocal only and the pad turns blinking blue .

A second press on the pad switch stemsFX on the melody only and the pad turns blinking orange.

A third press on the pad switch stemsfx on the rhythm only and the pad turns blinking yellow.

A fourth press deactivates stemsFX

Subsidiary question that has nothing to do with the Z2

I've noticed that when I right-click on the pad page modes on the skin, LC6000 doesn't appear in the menu as it does for most connected controllers, so I can't assign pages quickly to the different LC6000 mode buttons and I have to stick to fixed values that I've had to set manually in the options in :

Padspageschanged : DNLC6000-page1=hotcues, DNLC6000-page2=saved loops, DNLC6000-page3=looproll, DNLC6000-page4=slicer, DNLC6000-page5=stems, DNLC6000-page6=loop, DNLC6000-page7=sampler, DNLC6000-page8=keycue

Is it normal that LC6000 do not appear in the pad page modes menu even though they are connected, powered up and working correctly?

Cheers
 

Posted Fri 22 Dec 23 @ 1:56 pm
I'm taking the liberty of bringing up this thread because I would like to make a small modification to the pads of my z2 mixer. I configured them to use StemsFx rather than stems

They are currently configured like this:

Pad 1 = Vocal
Pad 2 = Instrument
Pad 3 = Bass
Pad 4 = Rythm

I would simply like to put Pad 1, Vocal echo in place of vocal in the following script:

var_equal 'whcues' 0 ? shift ? delete_cue 1 : hot_cue 1 : var_equal 'whcues' 3 ? shift ? delete_cue 5 : hot_cue 5 : var_equal 'whcues' 1 ? stem_pad 'vocal' : var_equal 'whcues' 2 ? stem_pad 'kick'

But I can't find which function to use to map the Vocal echo effect

The idea is that it works like this:

when pad 1 is off, pressing activates the vocal without echo effect, and when it is on, pressing cuts the vocal with an echo out effect

 

Posted Wed 20 Mar 24 @ 3:30 pm
I managed to do pretty much what I wanted in my previous post I modified Hot_1 this way with some code found on another post on this forum

https://www.virtualdj.com/forums/249626/VirtualDJ_Technical_Support/Echo_Out_workflow_with_StemsFX.html

 

var_equal 'whcues' 0 ? shift ? delete_cue 1 : hot_cue 1 : var_equal 'whcues' 3 ? shift ? delete_cue 5 : hot_cue 5 : var_equal 'whcues' 1 ? padfx_single "echo out" 70% 1bt "stemfx:Vocal" & set_var "StemEcho" 2 : var_equal 'whcues' 2 ? stem_pad 'kick'



It works as expected, ie when I press the Hot_1 pad the voice cuts out with an "echo out" effect and if I press the pad again I get the voice back. This is exactly what I wanted.

However, I can't find a solution for the Hot_1 pad LED so that it behaves like the LEDs on the other pads. Now when I activate this pad to obtain my "vocal echo out" effect, the LED stays lit at 100% instead of being around 20-30% to indicate that the effect is engaged.

As a reminder, here's what I currently have in LED_HOT1:

var_equal 'whcues' 0 ? hot_cue 1 ? shift ? blink 333ms ? cue_color 1 : off : cue_color 1 : color 20% 'white' : var_equal 'whcues' 3 ? hot_cue 5 ? shift ? blink 333ms ? cue_color 5 : off : cue_color 5 : color 20% 'white' : var_equal 'whcues' 1 ? stem_pad "Vocal" ? color 'blue' : color 20% 'blue' : var_equal 'whcues' 2 ? stem_pad 'kick' ? color 'red' : color 20% 'red'


I've tried replacing this part of the code

stem_pad "Vocal" ? color 'blue' : color 20% 'blue' : var_equal 'whcues' 2 


With this :

 padfx_single "stemfx:Vocal"   ? color 'blue' : color 20% 'blue' : var_equal 'whcues' 2 


But it doesn't work

Can someone help me to fix this problem of the pad remaining lit at 100% when it is activated?
 

Posted Wed 10 Apr 24 @ 11:37 am
Any luck on this?
 

Posted Fri 11 Oct 24 @ 8:30 pm