Quick Sign In:  

Forum: Old versions

Topic: VDJ mapper variables help

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

DHoudePRO InfinityMember since 2009
So I have my Hercules RMX set up so that when you hold an effect key (any of them) that the deck 1 jog will move effect slider 1 and deck 2 jog will move effect slider 2. Which is all set now and looks like this:

Button 2 = effect 2 active while_pressed & set $shift while_pressed
JOG = var $shift ? action_deck 1 ? effect default slider 1 : effect default slider 2 : jog_wheel

What I am curoius about is, it seems as though it is possible to have more than 1 variable, I just can't figure out how. Here is what I want to try next.

If I hold the effect key the jog wheels control the effect sliders (as stated above and works) but, now I want to try holding the left or right keys to shift the jog wheels to deck 1 browse folders and deck 2 browse songs.

I would like to use this (from another thread):

cstoll wrote :
var "$shift" ? action_deck 1 ? browser_window "folders" & browser_scroll : action_deck 2 ? browser_window "songs" & browser_scroll : jog_wheel


But be able to shift to that with a different key (the left or right key). So, how could I make seperate keys shift the jog wheels to do different things? Thanks for any help anybody can give
 

Posted Fri 19 Jun 09 @ 5:58 pm
SBDJPRO Infinity Member since 2006
The variable name "shift" is just an arbitrary name and could be anything you like, and you can have as many as you need.

"myvariablename" and $myvariablename are local variables to each deck.
%myglobalvariable would be global to both decks.
 

Posted Fri 19 Jun 09 @ 10:58 pm
DHoudePRO InfinityMember since 2009
Cool, thanks. I was able to put a number after (example "var $shift1") and have it recognize the command. Now I guess I have a problem with that line of script. Dose this look right to you?:

LEFT = browser_folder & set $shift2 while_pressed
RIGHT = browser_window 'songs' & set $shift2 while_pressed
BROWSER_JOG = var $shift2 ? action_deck 1 ? browser_window "folders" & browser_scroll : action_deck 2 ? browser_window "songs" & browser_scroll : jog_wheel

I have also tried:

BROWSER_JOG - var $shift2 ? action_deck 1 ? deck 1 wheel_mode browser_folder while_pressed & deck 2 wheel_mode browser_window "songs" while_pressed

Which is just a modification of the effect slider script that is actually working and was my attempt at scripting this command. Just in case it matters, I changed the effect slider scripts (shift key and jog command) to "set $shift1" and "var $shift1" so that that command would remain unique. After the rename it does still work so no issues there.

Because of that, in theory, I guess the "set $shift2" and "var $shift2" part should work. So my script after that point is bad (somehow). The result of this script just scratches if a song is loaded or dose nothing when I hold the right or the left arrows and moev the jog wheels.
 

Posted Sat 20 Jun 09 @ 7:12 am
Dhoude
You are one brainy son of a *****. lol
Thanks for that email i got it i havent tried it yet but im sure it will work.
I see what your trying to do and it sounds cool so maybe when you figure it out will you mind sending me on your revised mapper.
Thanks pal
 

Posted Sat 20 Jun 09 @ 10:21 am
DHoudePRO InfinityMember since 2009
Not so brainy, I am more of an idea guy, but I can't even claim that in this situation either. The folder and browser idea was somebody elses and the script is another prersons (discjockeydoc) for a completly different project as well. I am just combining what somebody else wrote for me to help somebody else get an even better solution. Thanks for the credit (and I do take some) but for the most part I just observe, gather and ask when I am stuck (which is where I am now).

I have already added quite a few extras since the map I sent to you a few days ago. Some of the ideas were from choice's mapper. I will send it to you in the next few days. When I get this folder thing squared up, I will post it, even though there already is one.
 

Posted Sat 20 Jun 09 @ 11:46 am
DHoude wrote :
Not so brainy, I am more of an idea guy, but I can't even claim that in this situation either. The folder and browser idea was somebody elses and the script is another prersons (discjockeydoc) for a completly different project as well. I am just combining what somebody else wrote for me to help somebody else get an even better solution. Thanks for the credit (and I do take some) but for the most part I just observe, gather and ask when I am stuck (which is where I am now).

I have already added quite a few extras since the map I sent to you a few days ago. Some of the ideas were from choice's mapper. I will send it to you in the next few days. When I get this folder thing squared up, I will post it, even though there already is one.


Thanks for the props, man...You've got some good ideas working there, too!

However, I don't think you need the additional actions OR another variable to make your jogs do what you want for this...

Try this:
LEFT = browser_folder & deck 1 wheel_mode "browser" while_pressed
RIGHT = browser_window "songs" & deck 2 wheel_mode "browser" while_pressed

This will make the left jog browse folders when the left button is held, and the right jog browse songs when the right button is held.

I have also refined the effects slider actions so that they won't change the default effect on the other deck inadvertently, and there seems to have been a glitch that caused one of the sliders to move on one deck and vise-versa. Therefore, I've set the buttons for the efects to set specific variables, and set the jog wheels to respond to the variables. For example, let's look at the "echo" effect, which I currently have set at button 3, and the "flanger" effect, at button 6.

BUTTON3 = effect "echo" active while_pressed & set $echo while_pressed
BUTTON6 = effect "flanger" active while_pressed & set $flanger while_pressed

These cause the effect to be active only while the buttons are held down, and sets the respective variable.

JOG = var $echo ? action_deck 1 ? effect "echo" slider 1 :effect "echo" slider 2 : var $flanger ? action_deck 1 ? effect "flanger" slider 1 :effect "flanger" slider 2 : jog_wheel

This looks to see which variable is active, then takes the appropriate action.

This tends to work much better than the original solution that I'd posted elsewhere.
 

Posted Sun 21 Jun 09 @ 2:25 pm
DHoudePRO InfinityMember since 2009
No problem and a no brainer, I will never take credit for somebodyelses work. The definition of integrity is doing the right thing, even when nobody is looking. I pretty much live by that and people will always respect you. Thanks for all the hard work on all my ideas.

Now if only my desktop computer will start after last nights gig:(. It worked perfect, first time using VDJ 6 live, smooth performance, everybody had fun. I had 1 hiccup, on 1 song it would play about 10 sec and then restart the song (over and over). VDJ was set to automix dualdeck, so I was not behind the computer, but I got there quickly. I just hit stop on thatt deck, it unloaded the song and fadded to the other deck. It loaded a new song in th deck it just fadded from and never had another issue. Loved it!

BUT, brought my computer home last night and put it in my office. I set it up this morning and all seemed fine and then XP blue screened when itunes genius started. That happened 3 times while I was trying to use it and it has never booted since! Not even bios screen to boot from a windows disc! 2 gig Ram, 2 gig core 2 duo processor and all 3 HDs (80, 80 and 500 gig SATA) were bought this year. I did a full format and reinstall about 2 months ago when I added the second 80 gig drive (for future RAID plans). The mother board is the only old thing and it sounds like that may be it. I am going to take it into work tomorrow to take a closer look with the person who built it for me.

I will try these commands tonight on my backup laptop, so thanks again. I just like the desktop (normally) it is just far more stable then either of the laptops I tried VDJ on (1 Vista Ultimate well built and new HP and 1 Dell XP and a little older).
 

Posted Sun 21 Jun 09 @ 3:20 pm
Sorry to hear about your woes :(

Personally, I don't think I would trust the dual deck automix, and I like the single deck type because I can drop a track in whenever I want, even though I only use automix for background stuff, as it sounds like you do as well. Good luck with the computer issues!
 

Posted Sun 21 Jun 09 @ 3:41 pm
DHoudePRO InfinityMember since 2009
[quote=discjockeydoc]Try this:
LEFT = browser_folder & deck 1 wheel_mode "browser" while_pressed
RIGHT = browser_window "songs" & deck 2 wheel_mode "browser" while_pressed/quote]

That is close to what I am using for now and it works ok,

LEFT = browser_folder & wheel_mode "browser" while_pressed
RIGHT = browser_window "songs" & wheel_mode "browser" while_pressed

Because the LEFT key selects the folders and adds jog wheel, I always know that holding the left button with jog (on active deck) is folder browse. The right button selects songs and the active deck jog browses songs as well when held. Not an issue, it just seems more complicated then it needs to be. The other issue with my code is that only the active (PFL selected) decks jog wheel browses and the other does nothing. But when using automix dual deck and there is a song change, the jog wheel you were using stops working which is really more of an inconvienionce. Your code may fix part of this, so i will try it fore sure. But I think my goal to fix here is, to hold any key that I map(left or right) and without changing the key you are holding, have deck 1 jog browse folders and deck 2 browse songs.

I am sure this has to be possible with this new mapper, my mind is the only limit. That is where this forum comes in:) Thanks, I am sure I will get the PC sorted I am in electronis repair so it will just take some time.

 

Posted Sun 21 Jun 09 @ 3:49 pm
The actions that I have chosen might very well be easier to get used to for browsing because there is always a button and jogwheel association, and the active deck is irrelevant. In other words, holding the left button always means "use the left jog to browse folders" and holding the right button always means "use the right jog to browse songs," regardless of which PFL is on. I'm not sure if I'd like it the other way, but that's just me ;)
 

Posted Sun 21 Jun 09 @ 4:23 pm
DHoudePRO InfinityMember since 2009
discjockeydoc wrote :
Personally, I don't think I would trust the dual deck automix, and I like the single deck type because I can drop a track in whenever I want, even though I only use automix for background stuff, as it sounds like you do as well. Good luck with the computer issues!


Yea, I was using it for most of the party because it was a no pay gig. It was my buddy's 30th b day, I was there for fun and to put some time on VDJ 6. I am willing to bet the hiccup that I had last night may have been the RAM going bad as it happened later in the night, because I was able to reload the song on the same deck after 1 song and play it with no issues. I also must have played for at least 2 more hours too.

As far as the script you use, I do like it and it dose solve my issue with deck is selected. But there is a chance that if you aren't paying attention you can grab the wrong jog and scratch instead of browse. So I added this:

LEFT = browser_folder & deck 1 wheel_mode "browser" while_pressed & deck 2 wheel_mode "browser" while_pressed
RIGHT = browser_window "songs" & deck 1 wheel_mode "browser" while_pressed & deck 2 wheel_mode "browser" while_pressed

Which "should be" the same as the code I posted earlier but for some reason, I have to specify it this way before both jogs browse the same, with either button. Just safer for me anyway.

Glad we met up again, thanks for the help. I am trying the other code next.

 

Posted Sun 21 Jun 09 @ 6:08 pm
DHoudePRO InfinityMember since 2009
With the new effect script, my sliders don't work anymore. I mapped flanger to button 6 by coppying the text you had supplied and then coppied the Jog script and pasted it as well. It all should be right, but it does not work for me.
 

Posted Sun 21 Jun 09 @ 6:22 pm
This sounds like a similar thing I was working on. and I think the problem is with my variable being a deck variable not a global one. I will try some of your scripts out and mine and see what I can come up with.
 

Posted Tue 23 Jun 09 @ 1:04 pm
What is the correct way to call down into the definition file to say turn on an LED.

I don't have the code in front of my right now, but from the map file, I want to change the color of an LED say from RED to WHITE.

OFF has a value =0
RED has a value =1
WHITE has a value = 2

So I'm trying to do the following:

<map value="HOTCUE_1" action=" var $isDeleteButtonPressed? set &quot;LED_HOTCUE_1&quot; 1 : set &quot;LED_HOTCUE_1&quot; 2"/>


So if the DeleteButton is pressed, which is defined elsewhere, then I want to make the LED_HOTCUE_1 button light up RED, ELSE I want it to light up WHITE.

So ultimately I'm asking how do I call down into the Definition file to change the "value" parameter of the LED?

Where the definition file reads :
<led cc="0x10" name="LED_HOTCUE_1" default="HOTCUE_1"/> 


It has been suggested that I try using the <BAR> element.
 

Posted Tue 23 Jun 09 @ 3:09 pm
DHoudePRO InfinityMember since 2009
The Herculese RMX only has blue lights. So I have never done that. But, the only commands I see in the verbs file are:

on : turn on the LED.
off : turn off the LED.
blink : turn on and off the LED, once per second. You can specify the speed: 'blink 1000ms'

So to the best of my knowledge, there is no color command in VDJ, unless you are talking about the DMX feature:

dmx : show/hide the lights control window
dmx_color : set the color program
dmx_chase : set the chase program
dmx_black : black all lights
dmx_strobe : activate/deactivate the strobe
dmx_flash : flash all lights
dmx_setvalue : Set an individual dmx value. first parameter is channel, second is value

If this is what you are talking about, the owners manual of the DMX light or control should specify the DMX values needed (0-255) to call up each color. I have used DMX lights and control panels, but not with VDJ. So I am afraid I can't help you there.

If you have a controler, a wild guess may be to try part of the DMX verb and say "on_setvalue (#)" but I may be completly worng too.
 

Posted Tue 23 Jun 09 @ 6:00 pm
On the NS7 there are multiple colors assigned to one LED.

I have gotten both colors to turn on using a definition file:

<led cc="0x10" name="WLED_HOTCUE_1" value="2" default="HOTCUE_1"/> //for White
<led cc="0x10" name="RLED_HOTCUE_1" value="1"/>//for Red


But i'd like to have one
<led cc="0x10" name="LED_HOTCUE_1" default="HOTCUE_1"/>

that i can call down into from the Mapper and assign the value. Can I do this as a parameter from the Map file?
If you look at the documentation on the wiki for definition files... 'value' is a parameter in <led>, but how do I change that value from the mapper file?
 

Posted Wed 24 Jun 09 @ 8:49 am
Try defining it as follows:

<led cc="0x10" max="0x02" name="LED_HOTCUE_1" default="HOTCUE_1" />


Then map as follows:

<map value="HOTCUE_1" action="var $isDeleteButtonPressed ? get constant 1.0 : hot_cue 1 ? get constant 0.5 : off" />

 

Posted Wed 24 Jun 09 @ 1:06 pm
Solution that I finally got to work:

Def:
  <bar cc="0x0B" name="LED_HOTCUE_1" max="0x02" default="HOTCUE_1_A"/>

*note: I had to make this a <bar> instead of a <led>

Map:
 <map value="LED_HOTCUE_1" action="var $hotcue_delete_a ? hot_cue 1 ? get constant 0.5 : off : hot_cue 1 ? get constant 1.0 : off"/> 


Thanx jpboggis for your help!
 

Posted Wed 24 Jun 09 @ 8:40 pm
I have put the following action into JOG

var $shift ? action_deck 1 ? effect default slider 1 : effect default slider 2 : jog_wheel

It works the button slider 1 on the left deck and button slider 2 on the right deck.

I want it to allow me to use the jog wheels to adjust both button sliders on the same deck ie deck 1 effect activated with the ability to adjust both button sliders or deck 2 activated with the same functionality.

I'd be gratefull for any help.

Cheers Guys/Girls
 

Posted Fri 26 Jun 09 @ 4:15 pm
DJ Unkateef wrote :
I have put the following action into JOG

var $shift ? action_deck 1 ? effect default slider 1 : effect default slider 2 : jog_wheel

It works the button slider 1 on the left deck and button slider 2 on the right deck.

I want it to allow me to use the jog wheels to adjust both button sliders on the same deck ie deck 1 effect activated with the ability to adjust both button sliders or deck 2 activated with the same functionality.

I'd be gratefull for any help.

Cheers Guys/Girls


SORRY GUYS, I'VE NOT BEEN AROUND FOR A FEW DAYS!! I haven't been ignoring you ;)

Yep, I noticed exactly what you've described on my RMX as well; that's why I ended up mapping for individual effects. It seemed that, when I tested a couple of times, it worked the way that it was supposed to, but then it worked the way you found upon further testing :(

I'm not exactly sure why it isn't working for DHoude, but it does work on my setup. Please refer to this example:

BUTTON3=effect "echo" active while_pressed & set $echo while_pressed
BUTTON6=effect "flanger" active while_pressed & set $flanger while_pressed
~Causes momentary activation of the effect and sets the variable to "true" (boolean).

JOG=var $echo ? action_deck 1 ? effect "echo" slider 1 : effect "echo" slider 2 : var $flanger ? action_deck 1 ? effect "flanger" slider 1 : effect "flanger" slider 2 : jog_wheel
~Evaluates variables and takes appropriate action, otherwise acts as jogwheel. You can also expand this script so that it accounts for any effect that has adjustbale sliders by nesting all possible variable names (name them after their effect) into the statement and setting the variables with the button that you've assigned the effect to.

PLEASE NOTE...The syntax for these commands (including spacing) must be EXACTLY as written or they will not work. Also, you should know that you do not use the eqaul sign in the mapper..I've only included it here to show where the button mapping description ends and the actions begin.

There IS another way to do this if you want the JOG to be universal, no matter what the button assignments are, but it will adjust the default effect on both decks, regardless of what they currently are:

BUTTON[X] action=blah blah & set $shift while_pressed
JOG action=var $shift ? deck 1 effect default slider 1 & deck 2 effect default slider 2 : jog_wheel

I personally do not like this way because it (potentially) adjusts effects that are not currently active on the other deck, and you have to readjust them when they are used.

Hopefully, this helps you guys ;)

If anything here does not work, please PM me and let me know.
 

Posted Fri 26 Jun 09 @ 11:15 pm


(Old topics and forums are automatically closed)