Accesso rapido:  

Forum: VirtualDJ Technical Support

Topic: Shift locked on

Questo argomento è obsoleto e potrebbe contenere informazioni obsolete o errate.

Hi,

Encountering some strange behaviour with VDJ 8.2 (build3324)

I'm put in this mapping for the Deck select buttons for Denon MC6000MK2:

action_deck 1 ? var '$shift' ? deck 1 masterdeck : deck 1 leftdeck & deck 1 select : action_deck 2 ? var '$shift' ? deck 2 masterdeck : deck 2 rightdeck & deck 2 select : action_deck 3 ? var '$shift' ? deck 3 masterdeck : deck 3 leftdeck & deck 3 select : action_deck 4 ? var '$shift' ? deck 4 masterdeck : deck 4 rightdeck & deck 4 select

The idea is that if I push one of the 4 deck select buttons it will select that deck and assign it to the appropriate side and
if I push one of the deck select buttons with the shift button it makes that deck the masterdeck.

It works fine unless I assign the masterdeck (using shift + the relevant button) to a deck that is not selected (i.e. deck 3 is left deck and selected and then I assign deck 1 to be masterdeck). As soon as I do this it is as if Var '$shift' is locked permanently on. Any deck select button I push will only assign that deck as the masterdeck and any other button on the controller acts as if the shift button is pressed. Not good for a live situation!

This is exactly the same mapping that I developed for VDJ 7 and it worked perfectly there. Is there something wrong with my coding for VDJ 8 or is there a glitch in the VDJ 8 Matrix?

Many thanks for any light that can be shone on this.
 

Inviato Sat 06 Aug 16 @ 12:52 pm
djdadPRO InfinityDevelopment ManagerMember since 2005
First, how is the SHIFT button assigned ?

Also, there is a chance that the DECK CHG buttons work in "Hardware" way, meaning that no matter how these are mapped, they will still change/swap decks and from that moment, a different Hardware layer for the deck is selected.
If that is the case, i dont think that you can assign anything else to those buttons , other than setting a deck as left/right or select
In order to confirm that those are Hardware buttons, simply delete the assigned action from the DECK CHG key, use a 4 Decks skin and see if using the buttons , the Decks sections of the unit control a different deck.

BTW, the MC6000MK2 has Masterdeck assigned to SHIFT+SYNC, so unless you have used this combination to assign something else, the Master Deck selection is there by default
 

Inviato Sat 06 Aug 16 @ 4:16 pm
Hi djdad,

Thanks for getting back to me on this.

Ok so...
1) Shift button assigned as : set '$shift' 1 while_pressed & set 'shift' 1 while_pressed & loop ? wheel_mode 'loop_move' while_pressed : wheel_mode "search" while_pressed - (obviously this is additionally set up to make use of the jogs in different ways depending upon whether the shift is pressed and if there is a loop set. However the shift function works fine in all other cases.)

2) Shift + Sync : Thanks for the reminder of this. I've actually assigned a different function to this (FYI: var '$shift' ? pitch_reset : sync)

3) I've done some testing on the DECK CHG Buttons which appear to be partially hardware buttons:
i) Removing any mapping for them. Some features are reassigned to a new deck (Transport, pitch slider, volume slider, cues and loops) while other features are not (Deck loading, Effects, filter).
ii) I guess this is why the default mapping includes DECK_SEL as:
action_deck 1 ? deck 1 leftdeck : action_deck 2 ? deck 2 rightdeck : action_deck 3 ? deck 3 leftdeck : action_deck 4 ? deck 4 rightdeck : nothing as this ensures that all hardware functions are assigned to the deck selected by the DECK CHG buttons.
iii) But I still don't understand why changing this mapping to:
action_deck 1 ? var '$shift' ? deck 1 masterdeck : deck 1 leftdeck & deck 1 select : action_deck 2 ? var '$shift' ? deck 2 masterdeck : deck 2 rightdeck & deck 2 select : action_deck 3 ? var '$shift' ? deck 3 masterdeck : deck 3 leftdeck & deck 3 select : action_deck 4 ? var '$shift' ? deck 4 masterdeck : deck 4 rightdeck & deck 4 select
should lock the 'Shift' functions permanently on?? As I said, it works perfectly in VDJ7!

Any further ideas?

 

Inviato Sun 07 Aug 16 @ 11:58 am
djdadPRO InfinityDevelopment ManagerMember since 2005
The issue is that when you press SHIFT + DECK CHG , the Hardware layer changes and when you release SHIFT, you actually release the SHIFT of the new Layer, while the SHIFT of the previous layer is still "down" for the software.
In order to understand what is going on, use MIDIOX or equivalent application
Each time a button is pressed it sends a Midi note ON and when released it sends a Midi note Off.
Now what is most likely happening is that the note Off of the previous Layer for SHIFT is not received. This wouldnt be an issue if the SHIFT was global for all layers but in this case seems that its not.

Try to map the SHIFT button only using a global variable assigned as ..
down ? set '$shift' 1 : set '$shift' 0
and then all of your actions should use the global $ variable $shift instead of the deck local shift.

But still since the Layers are mostly Hardware, you would still get the decks change when you are trying to manually set the Master Deck. I wold strongly recommend to find a different key combination to assign this secondary action and not the DECK CHG buttons.
 

Inviato Sun 07 Aug 16 @ 2:55 pm
Thanks djdad,

Really useful to have some understanding of what's going on. Even if I still don't quite get why it worked with VDJ7 - presumably something to do with the coding in that program.

Thanks for sharing your time and expertise - a really invaluable resource to be able to tap into.
 

Inviato Mon 08 Aug 16 @ 6:04 am
Slight update. I've found that if I use the shift key from the opposite deck it doesn't cause the problem. Presumably because that is activating the global shift variable.
 

Inviato Mon 08 Aug 16 @ 1:54 pm
Exactly
 

Inviato Mon 08 Aug 16 @ 4:45 pm


(Vecchi argomenti e forum sono automaticamente chiusi)