Se Connecter:     


Forum: General Discussion

Sujet: Script School - Page: 53.6
Perhaps you can experiment with save_deck_set and load_deck_set then.
Also, you could set a "temporary" hotcue (let's say hotcue 99) on the position that you want to keep in memory, that you can delete afterwards (after you resume your working with the mix the next day)
So, instead of trying to seek to position 48.87% on the song (that would be what song_pos reports) you have a hotcue ready to take you there. And hotcues are virtually unlimited in VitualDJ. Therefore you don't have to "waste" a "good" slot (hotcues 1-8). You can decide to always use hotcue 99, or hotcue 20 or whatever number you want..

PS:
I have done what you do once or twice, and my way of doing things was quite simpler:
I made it a habit to always end my "partial" mix on a song with 0% pitch adjustment and flat EQ that would play until the end.
Then on the next session I would start mixing from the beginning of that same song and I would not adjust pitch / EQ until it was time to mix the next one.
Therefore, in post I would have plenty of "space" where both parts of my long mix would play the exact same part of a song with the exact same "settings". So it would be easy to "overlap" and mix cut them.
 

Thanks for your opinion and very helpful information!
I was able to save the pitch value and the pause point with save_the_deck. I'm satisfied with just that, but it couldn't save the EQ value. It would be great if the EQ value could also be saved.
 


The xml file saved by save_deck_set looks like this:

<deckset version="850" date="2025/07/22">
<load deck="1" filepath="xxx.wav" volume="4096" pos="5985252" gain="2048" pitch="4377"/>
<load deck="2" filepath="yyy.mp3" volume="4096" pos="4616170" gain="2048" pitch="3824"/>
</deckset>


I wonder if it is possible to specify high, mid, and low attributes in the load tag by editting this xml file manually.
 

Probably not, as part of your save deck set procedure you could write a script to an unused tag and recall it next time round.
 

I tried various attribute names such as high, eq_high, eq_high_freq, but I couldn't specify equalizer values. It's strange that we can't specify equalizer values even though there is GAIN attribute.
 

Not strange really, eq wasn't wrote in to the xml when it was designed, machines only do as they're been told, they can't interpret outside what they're been told.

Just write a couple of buttons, save & recall
 

locoDog wrote :
set_var 'titleA' `deck 1 get_title`


deck num, never deck letter
you also used ' ' to wrap the 2nd param, that would make it literal text, you want to wrap in ` ` .


On this topic, is it good practice to use deck left, deck right ?
 

deck 'side' will work, best practice depends on case.
 

Hello!

I have a question about the display behavior of buttons or pads. (on/off)

I tried creating pads with these:
(browser_window 'remixes' && show_splitpanel 'sideview')
(browser_window 'automix' && show_splitpanel 'sideview')


If the remixes tab is active, then my remixes pad will be on, and the automix one will be off as expected.

Unfortunately, the action is not exactly what I wanted so I did this instead:
(browser_window 'remixes' && show_splitpanel 'sideview') ? show_splitpanel 'sideview' off : (show_splitpanel 'sideview' on & browser_window 'remixes' on)

(browser_window 'automix' && show_splitpanel 'sideview') ? show_splitpanel 'sideview' off : (show_splitpanel 'sideview' on & browser_window 'automix' on)


The action is now fine but the pad status is now reversed?? I don't undersant why and I'm running in circles trying to fix it.

Thanks in advance for your help!
 

locoDog wrote :
deck 'side' will work, best practice depends on case.

Thanks!
 

(browser_window 'remixes' && show_splitpanel 'sideview') ? on & show_splitpanel 'sideview' off :  off & (show_splitpanel 'sideview' on & browser_window 'remixes' on)


common mistake when first dealing with button led logic, the reply to the query to turn the thing off should first tell the led to be on [because it is on], LED queries happen constantly, unlike button press triggered queries that only happen when button pressed.
 

@Yan Duval:

A lot of times it's easier (and preferable) to "unlink" the led query (when the led is on) from the action of the pad.

Take a look at these examples:
<pad1 name="`get_effect_name 1`" color="effect_active 1 on ? var_equal &apos;FX1MomPush&apos; 0 ? color &apos;green&apos; : color &apos;blue&apos; : color &apos;blue&apos;" query="var_equal &apos;FX1MomPush&apos; 0 ? effect_active 1" autodim="false">effect_active 1</pad1>
<pad5 name="^ MP" color="effect_active 1 on ? var_equal &apos;FX1MomPush&apos; 1 ? color &apos;green&apos; : color &apos;blue&apos; : color &apos;blue&apos;" query="var_equal &apos;FX1MomPush&apos; 1 ? effect_active 1" autodim="false">effect_active 1 on while_pressed &amp; set &apos;FX1MomPush&apos; 1 while_pressed</pad5>
 

Thank you both for your help.

I'll try these and come back to you!
 

This works fine, thanks again. It brings more questions:

1- When part of a "query=...", are the actions actually performed or are they simply muted and used only as queries?

2- "A ? B" used above is the same as "A or B" if "or" was available in VDJ script?

3- Can "A ? B" used in any context without the ":" or does it sometimes need to be: "A ? B : nothing"

4- If an action is quite complex, can it be useful for performance reasons to modify a variable in the action in order to have a very simple query? I assume that if a query is available, the action stops being queried and is only performed when the button is presse?

With extras:

5- I sometimes see $myvar used without the ''. Like "set_var $myvar" instead of "set_var '$myvar'" Does it have a special meaning, or is it only that it's tolerated by VDJ in certain situations?

6- When used with a varialbe, is there any difference between "set" and "set_var".

Thanks!!