Quick Sign In:  

Forum: VirtualDJ Technical Support

Topic: `setting "smartPlay" "no"` not working, want Traktor-like sync

Dieses Thema ist veraltet und kann veraltete oder falsche Informationen enthalten.

I am trying to toggle the smartPlay setting, as I think this would be equivalent to how sync works in Traktor. But I can't get the "setting" command to work. I have tried single and double quotes round smartPlay, lower and camel case, true/false/no/yes/on/off, nothing seems to affect the setting.

Ideal would be to get `setting "smartPlay" "Per decks" 1 2 & pitchlock` working, as this'd be a near exact match for Traktor, which is my favourite approach.

Is there something I'm doing wrong, or another way to emulate Traktor's sync?

FYI in Traktor Sync is like a deck state that you activate before hitting play, and when activated, it'll lock to the master deck's BPM and beat, including what VDJ calls `pitchlock` (except Traktor just slaves the one deck, but I'm not bothered about that).
 

geposted Sun 04 Apr 21 @ 12:35 pm
My main decks are always 1 and 2, I only use 3 and 4 for eg, temporarily swapping a track to for scratching. Is this an alternative solution?


action_deck 1 ? deck 2 beatlock toggle : deck 1 beatlock toggle


It is very close, but unfortunately there are some circumstances when it adjusts the master deck to the slave deck tempo, so doesn't quite have the 100% peace of mind I get from the Traktor approach.
 

geposted Sun 04 Apr 21 @ 6:00 pm
The action is just
smart_play

and it works "per deck" already. You don't need to mess with the setting action at all.
The setting just saves the state of "smart_play" action per deck
 

geposted Sun 04 Apr 21 @ 6:02 pm
techtitch wrote :
My main decks are always 1 and 2, I only use 3 and 4 for eg, temporarily swapping a track to for scratching. Is this an alternative solution?


action_deck 1 ? deck 2 beatlock toggle : deck 1 beatlock toggle


First off all you don't need to say "toggle" (VirtualDJ doesn't understand this verb.
You just need to say the action. When you don't specify on/off on boolean actions, VirtualDJ automatically toggles the action/mode/setting
So this is the correct syntax:
action_deck 1 ? deck 2 beatlock : deck 1 beatlock

Now what the above syntax does, is to "invert" on which deck the beatlock engages.
You are telling the software that if you press the "beatlock" button on deck 1, to toggle beatlock on deck 2 instead. And if you press the "beatlock" button on any other deck (eg deck 3) to toggle beatlock on deck 1
I don't know if that's what you're after, I'm just explaining you your code.
"action_deck" checks from which deck the action was engaged. Nothing more.
So if you want to have an ction that toggles beatlock based on which deck is the master you need to use another script like:
deck 1 masterdeck ? deck 2 beatlock : deck 1 beatlock

 

geposted Sun 04 Apr 21 @ 6:13 pm
smart_play doesn't seem to adjust the tempo - it just aligns the grid, I think, when first played.
 

geposted Sun 04 Apr 21 @ 6:15 pm
No. it also adjusts the tempo, as long as the adjustment won't exceed the +/-10% mark.
However, you can change that limit if you wish (smartPlayLimitPitchRange setting)
Finally, even if you remove that limit, smart_play will still respect the current pitch range in order to adjust tempo.
If current pitch range is +/-8% and when you press play (with smart play enbaled) the pitch adjustment must be +12% for the tracks to match, smart play won't adjust the tempo.
If current pitch range is +/-16% then it will.
 

geposted Sun 04 Apr 21 @ 6:21 pm
In my experiments, the beatlock command seems to say all other decks should sync to this one. So if I'm playing a track on deck 1, hit beatlock on 2 then play, VDJ will adjust deck 1 to deck 2's tempo. My Traktor method is the opposite - if I activate Sync on deck 2, I want it to slave to deck 1, hence the 'inverting' code.

It is very close, but quirky, so I have no confidence in it. Sometimes (I haven't figured out when), it'll slave instead of master. Sometimes it won't match tempo at all.
 

geposted Sun 04 Apr 21 @ 6:23 pm
Ahhh thanks PhantomDeejay, I was thinking it'd sync if within 10% but it'll sync if it doesn't push the pitch to beyond 10% from normal. Make sense I just hadn't sussed that. Thanks - replying quickly will now experiment.
 

geposted Sun 04 Apr 21 @ 6:26 pm
To clarify, as Phantomdeejay said, the sync happens if the adjustment is within the visible bounds of the pitch slider in the software.

smart_play doesn't keep the tunes in sync if you move a pitch fader, and the pitch is only matched when you press play, whereas I want to see the pitch adjusted when I turn sync on. So my final script is:


smart_play ? true & smart_play off & beatlock off : smart_play on & beatlock on & sync


The only difference to Traktor I think, is this won't sync if the pitch fader would have to move beyond the visible pitch fader limits (I wouldn't want to anyway), and it turns on slider sync for all decks, not just the sync'd one (can't think when this would be an issue for me).

PS. I might gradually be getting my head round illuminating the pads. I thought `true` should go in the `sync on` branch of the code, but this is incorrect. The `true` is required in the bit of code that disables the sync, because this is the branch that is passively evaluated to determine the button state, outside of button presses.

Thanks so much yet again @Phantomdeejay!
 

geposted Sun 04 Apr 21 @ 8:04 pm


(Alte Themen und Foren werden automatisch geschlossen)