Quick Sign In:  

Forum: VirtualDJ 8.0 Technical Support

Topic: Novation Twitch not working correctly with v8

This topic is old and might contain outdated or incorrect information.

I am having a big issue with my controller (Novation Twitch).

I use the shift keys on my controller to do certain things like delete cue points or change the function of pads. However if I hold the shift key down on either deck for more than a second and hit a pad to delete a cue point it does not work. Instead the pad triggers the cue point as normal. I know the shift key is working because the lights change on the controller when I hold the shift key down.

The only way I can get it to work is to either right click on the cue point on the skin, or hold the shift key down very briefly while hitting the cue point pad. But this has a side effect of 'shifting' the decks from decks 1 or 2 to decks 3 or 4 depending which deck shift key I hit whilst in 4 deck skin mode. If I use the default 2 deck skin it does not shift to decks 3 or 4 obviously but the cue point still will not delete if I hold shift for more than a second.

I am using the default skin and default mapper.

I also tried uninstalling/reinstalling VDJ, deleted all settings and the hidden folders and used the VDJ registry cleaning tool to remove all settings before reinstalling VDJ. I also tried uninstalling/reinstalling the Novation USB driver (including an older version). It did not help.

Shift key actions work as expected in v7 so this is definitely a v8 issue. :(

PC, Core i7, 16GB DDR2, MSI GD65 Gaming motherboard, latest Novation USB driver.
Windows 7 Ultimate 64bit with with latest updates


Also can you tell me why my own custom map no longer works correctly with the following (somewhat convoluted) syntax? I shift + Loop roll button to get a set of 8 effects pads but only the bottom pads 5-8 work as expected in both v7 and v8. The first 4 pads don't work the same way in v8 (The get beat_num loops were for my attempt at making a beat slicer like in Serato so you can ignore those).

---
LOOP_ROLL

var 'shift' ? set 'mode' 3 : set 'mode' 7

PAD1

var 'mode' 1 ? get beat_num 1 8 ? goto -1 & loop 1 while_pressed : get beat_num 2 8 ? goto -2 & loop 1 while_pressed : get beat_num 3 8 ? goto -3 & loop 1 while_pressed : get beat_num 4 8 ? goto -4 & loop 1 while_pressed : get beat_num 5 8 ? goto -5 & loop 1 while_pressed : get beat_num 6 8 ? goto -6 & loop 1 while_pressed : get beat_num 7 8 ? goto -7 & loop 1 while_pressed : get beat_num 8 8 ? goto -8 & loop 1 while_pressed : nothing : var 'mode' 6 ? loop 0.125 : var 'mode' 3 ? effect 'dfv flanger' active while_pressed : var 'mode' 4 ? sampler 1 play while_pressed : var 'mode' 5 ? sampler 9 play while_pressed : var 'mode' 7 ? loop_roll 0.125 while_pressed : var 'mode' 2 ? loop 0.125 while_pressed : var '$shift' ? delete_cue 1 : hot_cue 1

PAD2

var 'mode' 1 ? get beat_num 1 8 ? loop while_pressed : get beat_num 2 8 ? goto -1 & loop while_pressed : get beat_num 3 8 ? goto -2 & loop while_pressed : get beat_num 4 8 ? goto -3 & loop while_pressed : get beat_num 5 8 ? goto -4 & loop while_pressed : get beat_num 6 8 ? goto -5 & loop while_pressed : get beat_num 7 8 ? goto -6 & loop while_pressed : get beat_num 8 8 ? goto -7 & loop while_pressed : nothing : var 'mode' 6 ? loop 0.25 : var 'mode' 3 ? effect 'dsp_reverb' active while_pressed : var 'mode' 4 ? sampler 2 play while_pressed : var 'mode' 5 ? sampler 10 play while_pressed : var 'mode' 7 ? loop_roll 0.25 while_pressed : var 'mode' 2 ? loop 0.25 while_pressed : var '$shift' ? delete_cue 2 : hot_cue 2

PAD3

var 'mode' 1 ? get beat_num 1 8 ? goto +1 & loop while_pressed : get beat_num 2 8 ? loop while_pressed : get beat_num 3 8 ? goto -1 & loop while_pressed : get beat_num 4 8 ? goto -2 & loop while_pressed : get beat_num 5 8 ? goto -3 & loop while_pressed : get beat_num 6 8 ? goto -4 & loop while_pressed : get beat_num 7 8 ? goto -5 & loop while_pressed : get beat_num 8 8 ? goto -6 & loop while_pressed : nothing : var 'mode' 6 ? loop 0.5 : var 'mode' 3 ? effect 'dsp_phaser' active while_pressed : var 'mode' 4 ? sampler 3 play while_pressed : var 'mode' 5 ? sampler 11 play while_pressed : var 'mode' 7 ? loop_roll 0.5 while_pressed : var 'mode' 2 ? loop 0.5 while_pressed : var '$shift' ? delete_cue 3 : hot_cue 3

PAD4

var 'mode' 1 ? get beat_num 1 8 ? goto +2 & loop while_pressed : get beat_num 2 8 ? goto +1 & loop while_pressed : get beat_num 3 8 ? loop while_pressed : get beat_num 4 8 ? goto -1 & loop while_pressed : get beat_num 5 8 ? goto -2 & loop while_pressed : get beat_num 6 8 ? goto -3 & loop while_pressed : get beat_num 7 8 ? goto -4 & loop while_pressed : get beat_num 8 8 ? goto -5 & loop while_pressed : nothing : var 'mode' 6 ? loop 1 : var 'mode' 3 ? effect 'beatgrid' button 1 1 & effect 'beatgrid' active while_pressed : var 'mode' 4 ? sampler 4 play while_pressed : var 'mode' 5 ? sampler 12 play while_pressed : var 'mode' 7 ? loop_roll 1 while_pressed : var 'mode' 2 ? loop 1 while_pressed : var '$shift' ? delete_cue 4 : hot_cue 4

LED_PAD1

var 'mode' 1 ? get beat_num 1 8 ? get constant 1.0 : get constant 0.51 : var 'mode' 6 ? loop 0.125 ? get constant 1.0 : get constant 0.9 : var 'mode' 3 ? effect 'dfv flanger' active while_pressed ? get constant 1.0 : get constant 0.9 : var 'mode' 4 ? sampler 1 play ? get constant 1.0 : get constant 0.9 : var 'mode' 5 ? action_deck 1 ? deck 1 sampler 9 play_stop ? get constant 1.0 : get constant 0.51 : action_deck 2 ? deck 2 sampler 9 play_stop ? get constant 1.0 : get constant 0.51 : action_deck 3 ? deck 3 sampler 9 play_stop ? get constant 1.0 : get constant 0.51 : action_deck 4 ? deck 4 sampler 9 play_stop ? get constant 1.0 : get constant 0.51 : nothing : var 'mode' 7 ? loop_roll 0.125 ? get constant 1.0 : get constant 0.9 : var 'mode' 2 ? loop 0.125 ? get constant 1.0 : get constant 0.9 : var 'mode' 0 ? hot_cue 1 ? get constant 0.62 : get constant 0.51 : nothing

LED_PAD2

var 'mode' 1 ? get beat_num 2 8 ? get constant 1.0 : get constant 0.51 : var 'mode' 6 ? loop 0.25 ? get constant 1.0 : get constant 0.9 : var 'mode' 3 ? effect 'dsp_reverb' active while_pressed ? get constant 1.0 : get constant 0.9 : var 'mode' 4 ? sampler 2 play ? get constant 1.0 : get constant 0.9 : var 'mode' 5 ? action_deck 1 ? deck 1 sampler 10 play_stop ? get constant 1.0 : get constant 0.51 : action_deck 2 ? deck 2 sampler 10 play_stop ? get constant 1.0 : get constant 0.51 : action_deck 3 ? deck 3 sampler 10 play_stop ? get constant 1.0 : get constant 0.51 : action_deck 4 ? deck 4 sampler 10 play_stop ? get constant 1.0 : get constant 0.51 : nothing : var 'mode' 7 ? loop_roll 0.25 ? get constant 1.0 : get constant 0.9 : var 'mode' 2 ? loop 0.25 while_pressed ? get constant 1.0 : get constant 0.9 : var 'mode' 0 ? hot_cue 2 ? get constant 0.62 : get constant 0.51 : nothing

LED_PAD3

var 'mode' 1 ? get beat_num 3 8 ? get constant 1.0 : get constant 0.51 : var 'mode' 6 ? loop 0.5 ? get constant 1.0 : get constant 0.9 : var 'mode' 3 ? effect 'dsp_phaser' active while_pressed ? get constant 1.0 : get constant 0.9 : var 'mode' 4 ? sampler 3 play ? get constant 1.0 : get constant 0.9 : var 'mode' 5 ? action_deck 1 ? deck 1 sampler 11 play_stop ? get constant 1.0 : get constant 0.51 : action_deck 2 ? deck 2 sampler 11 play_stop ? get constant 1.0 : get constant 0.51 : action_deck 3 ? deck 3 sampler 11 play_stop ? get constant 1.0 : get constant 0.51 : action_deck 4 ? deck 4 sampler 11 play_stop ? get constant 1.0 : get constant 0.51 : nothing : var 'mode' 7 ? loop_roll 0.5 ? get constant 1.0 : get constant 0.9 : var 'mode' 2 ? loop 0.5 ? get constant 1.0 : get constant 0.9 : var 'mode' 0 ? hot_cue 3 ? get constant 0.62 : get constant 0.51 : nothing

LED_PAD4

var 'mode' 1 ? get beat_num 4 8 ? get constant 1.0 : get constant 0.51 : var 'mode' 6 ? loop 1 ? get constant 1.0 : get constant 0.9 : var 'mode' 3 ? effect 'beatgrid' active on? get constant 1.0 : get constant 0.9 : var 'mode' 4 ? sampler 4 play ? get constant 1.0 : get constant 0.9 : var 'mode' 5 ? action_deck 1 ? deck 1 sampler 12 play_stop ? get constant 1.0 : get constant 0.51 : action_deck 2 ? deck 2 sampler 12 play_stop ? get constant 1.0 : get constant 0.51 : action_deck 3 ? deck 3 sampler 12 play_stop ? get constant 1.0 : get constant 0.51 : action_deck 4 ? deck 4 sampler 12 play_stop ? get constant 1.0 : get constant 0.51 : nothing : var 'mode' 7 ? loop_roll 1 ? get constant 1.0 : get constant 0.9 : var 'mode' 2 ? loop 1 ? get constant 1.0 : get constant 0.9 : var 'mode' 0 ? hot_cue 4 ? get constant 0.62 : get constant 0.51 : nothing
---

The shift key issue is the most important for now though.
 

Posted Tue 13 May 14 @ 12:16 pm
OK I can see why the effects are not working correctly on the first 4 pads. Some are incompatible with v8. Ignore those mapper lines. I have another issue which I need to post as a new thread because of the way effects are selected on the decks now.
 

Posted Tue 13 May 14 @ 3:06 pm
So does anyone know why my shift key on my controller behaves badly in v8?
 

Posted Tue 13 May 14 @ 3:59 pm
Shift keys are still not long holding in v8. If I only hold them down for a second or so they work fine. Anything after a second or so and they cease to function. Also when I hold down a shift button the SYNC/AUTO LED lights up for 1 second then goes out.
 

Posted Sun 18 May 14 @ 6:54 pm
I'm not familiar with controller but have you tried:

holding 5000ms ? play : nothing

So if holding for 5 seconds it will play else it will do nothing
 

Posted Sun 18 May 14 @ 7:19 pm
djtouchdan wrote :
I'm not familiar with controller but have you tried:

holding 5000ms ? play : nothing

So if holding for 5 seconds it will play else it will do nothing


It fixes it in 2 deck mode if you do not switch to 4 deck mode and back. If you switch to 4 deck mode it shifts decks 3 & 4 even more so than before whereby if you was quick enough you could avoid it. Now it just switches to decks 3 & 4 no matter what. Same if you switch back to 2 deck without a restart.

There is something wrong with the Twitch device programming built into the default v8 settings. I should only have to press shift once to switch between decks 1 & 2 and 3 & 4 and holding + function should not switch decks at all!
 

Posted Wed 21 May 14 @ 7:48 pm


(Old topics and forums are automatically closed)