快速登录:  

Forum: General Discussion

话题: Script School - Page: 43.2
locoDogPRO InfinityModeratorMember since 2013
Something of not much, but I've been thinking about this for a while and I actually made it today so here it is.

Beat detection, all software pretty much does the same thing, look for a regular peak and that's your beat marker.
And that works, but I'm picky and for me, that kind of detection marks the "UMP" of the "THUMP"
sure there's smart cue and quantize, all that stuff that means it marks the "UMP" but press at the right time and you get the whole "THUMP"
but I'm picky [and a glutton for punishment] so I very regularly end up moving the CBG that tiny fraction earlier, not always but very often.

So I have reference tracks that I say the CBG is perfect, all my samples sync perfect to them, anything I've cued is in agreement, anything I've cued is a reference track.

So on my new track I set my first beat visually then I'd mix into a reference track to test how it sounds when using sync.
If it's good [and it usually is] then all's well.
if it's a fraction off then it's a bit of a pain, poke the cbg a tiny fraction with adjust_cbg +0.001 , press sync, listen again, do that several times till I'm happy.

Not a productive workflow and I've done it for years :| so today I made this [after thinking about it for nearly as long] , it's my "these are audibly synced - now sync the CBGs" button

get_beatdiff returns 0.5 when 2 cbgs are sync'd, approaches 0.0 when cbg approaches 1/2 beat early, approaches 1.0 when cbg approaches 1/2 beat late.
It only gives grid difference for beat to beat, if you can't figure the position in the bar then you have your own problems [and some techno do be like that]

param_bigger 0.5 get_beatdiff ? param_multiply -1 `get_beatdiff & param_add -0.5` & param_cast 'relative' & adjust_cbg : param_smaller 0.5 get_beatdiff ? param_add 0.5 `param_multiply -1 get_beatdiff` & param_cast 'relative' & adjust_cbg : 


We have a measurement, do a little math to make it a value that works for a cbg adjustment then param_cast relative it [relative to keep the + sign for a positive adjust] to the adjust_cbg action.


There we go, a get_ action described, what it can be used for and some filler info on adjusting the cbg
 

发表时间 Thu 18 Jan 24 @ 3:56 pm
Baldy68PRO InfinityMember since 2019
When I have the stem crossfader in the middle it seems like the curve is on "smooth" or something similar since I do not get full stem-volume on both decks, so I need the "full" curve at least. Is this possible to fix with scripting?

I am currently using your otherwise excellent script for this:
nothing & nothing & param_invert & param_multiply 0.5 & deck 1 filter & param_multiply 2 & param_invert & param_multiply 0.5 & deck 2 filter
 

发表时间 Sun 21 Jan 24 @ 2:39 pm
locoDogPRO InfinityModeratorMember since 2013
It's not "smooth", it's linear. smooth is an approximation of a constant power curve.
you have one input and 2 outputs,
full is described like this with vdj crossfader notation

0=[1,0]/0.5=[1,1]/1=[0,1]

input smaller than 0.5 control the right side directly proportional to the input [I say directly as the output 1's are really 0.5s for a centre based dial], input bigger than 0.5 control the left side inversely proportional to the input, if input bang on 0.5 both outputs set to where you want them

nothing & nothing & param_smaller 0.5 ? deck 2 filter : param_bigger 0.5 ? param_invert & deck 1 filter : deck 1 filter 0.5 & deck 2 filter 0.5
 

发表时间 Sun 21 Jan 24 @ 3:21 pm
Baldy68PRO InfinityMember since 2019
Oh, It does work as I intended....Thank you a lot!
 

发表时间 Mon 22 Jan 24 @ 2:04 pm
Baldy68PRO InfinityMember since 2019
Is it not yet possible to have full resolution on the faders/knobs only for stem-volume 0-100%?
 

发表时间 Tue 23 Jan 24 @ 1:55 pm
locoDogPRO InfinityModeratorMember since 2013
It's completely possible, script has been arithmetically complete for years now.

figure out what you want mathematically with x as an input and y1 y2 as outputs.
The script won't be all that different.

with a hardware dial [or custom button slider type] you have to wrestle with the implicit, but the rest is + - * /
 

发表时间 Tue 23 Jan 24 @ 2:39 pm
Baldy68PRO InfinityMember since 2019
Uhm lol, thank you again for your infinite knowledge about scripting VDJ, contrary to my infinite ignorance about it, lol. I am afraid I need some examples to edit though. Yes, I plan to use high resolution motorized faders for all 5 stems. Is it possible for you to make an example script I can edit? Thank you anyway for your time!

Example script from Bass fader I use now:

nothing & nothing & param_smaller 0.5 ? deck 2 filter : param_bigger 0.5 ? param_invert & deck 1 filter : deck 1 filter 0.5 & deck 2 filter 0.5
 

发表时间 Wed 24 Jan 24 @ 5:12 pm
locoDogPRO InfinityModeratorMember since 2013
you haven't told me what is wrong with the script.
 

发表时间 Wed 24 Jan 24 @ 5:35 pm
Baldy68PRO InfinityMember since 2019
Oh sorry for being unclear, maybe it is just graphically, in VDJ software(?) but the stem knobs only use half the travel path's. still (since we removed the 100+ stem volume function on the knobs when turning them to the right (default behavior). Otherwise it functions perfectly now with my very small travel faders on my midimix. But my motorized faders have like 3 times the physical travel.
 

发表时间 Wed 24 Jan 24 @ 5:42 pm
RST75PRO InfinityMember since 2023
Hi there,

Did this get resolved? I'd like to remap my Inpulse 500 FX buttons but it just doesn't work even though it's a really simple task!

Thanks



golnar wrote :
Hey guys,

I am using the Inpulse 500 with VDJ 2021. There I have 4 FX Buttons. Two left and two right. On Click I want the left buttons to activate a certain filter on DECK 1 and the right Buttons to activate a certain filter on DECK 2. If the filter is activated it should be deactivated. I tried coding it my self. But I failed. Can some help me:

On Click:
Case 1: Filter X is not activated. Filter X gets activated.
Case 2: Filter X is activated. Filter X get deactivated.

Can you tell me how I can do this? Also I have two knobs for the filters. What is the right code for the knob to change the filter?

Thank you so much in advance!!!


 

发表时间 Tue 30 Jan 24 @ 5:06 am
locoDogPRO InfinityModeratorMember since 2013
Track Linking feature


A pretty big deal as far as I see, just went live in early access.
BUILD 7881 (2024-02-05)
-Related tracks option in Remixes tab in sideview, and mark_linked_tracks script to add them
In other words it's track linking. Just gone E.A. so still subject to change
Let's have a look; where it is, what it looks like, how it works.


[edit image was taken before a minor naming change, "related" is replaced with "linked" and has been edited in text below]

It lives as an option in the "Remixes" tab. If you don't see that tab click the dot in the yellow square pictured.
Then as it's an option of this tab pick it from the dot in the greenish square pictured on the tab header.
[if you want this as an independent tab, you can make it a shortcut by adding this to setting sideviewShortcuts]
geniusdj://linked



[EDIT NOTE, header has changed choice between active & browser is now in the header options (the dot) ]
In the tab header we have, the track artist- title we are looking at. We also have "Deck 1" if you click that you've given 2 choices "Active Deck" or "Browser".
Active deck that just looks at whatever is considered the masterdeck at the time [and the list will update live]
Browser will just look at what is picked in browser_window songs

So how do we link tracks?
We have 3 ways. When using "Active deck" you can just drag files on to this list.
The other way is when you're in the mix the script on the custom button
mark_linked_tracks
that will link the tracks on decks left & right.
Third way is similar to the second way if you click the cover art on deck you'll see a link option at the bottom of the drop down menu

[edit on 2nd method]
The script allows for params like so.
mark_linked_tracks `get_loaded_song fullpath` `get_browsed_song fullpath`
mark_linked_tracks `deck 1 get_loaded_song fullpath` `deck 2 get_loaded_song fullpath`

So looking in the list itself, we have a couple of separator headers.
Any item above the separators is a track you explicitly linked to follow the track pointed at.
Any item under "Backward Links" is a track you explicitly linked than is known to go before the track pointed at.

The last separator "Secondary Links" is when it gets special.
These aren't tracks you explicitly linked, these tracks are inferred links. This is the program joining dots for you. It's not crowd consensus like geniusdj [what everybody else is doing], it's not a compatibility filter based on key+bpm [which can give varied results], it's not recommended from your play history [you repeating the same mixes].

It's like having a friend who knows your mixes, knows your library, knows your taste, making a suggestion.
You're playing "a". You explicitly said "b" follows "a" also you said "c" follows "b"; Have you considered mixing "c" with "a" ?

There's a little bit more to "Secondary Links" but it gets a little awkward to explain with all the "a" "b" "c" order. Think of it this way, it will look at direct links and backward links and then from all those songs it will pull up their direct links as secondaries.

"Secondary Links" they're not always going to be winners, but you'll start with direct links and in practice time you start checking out the suggestions, some of those will be worthy of direct linking. Which in turn will generate more secondary links that could be worth checking out.

in practice time, using compatibility filter to discover mixes and using Linking to pin down those mixes, then testing secondaries. You'll have way more productive practice and when you're live you'll have a lot more mixes to easily choose from.

Footnote; This has only just gone Early Access and is subject to change and/or further additions. So your feedback is important.
Any changes will be edited in to this post.
And probably embed the klaus video if he does one.

Edit, klaus did do a video
 

发表时间 Mon 05 Feb 24 @ 9:42 am
locodog wrote :
embed the klaus video if he does one


So.......just another video!

Keep up the good work guys :-)
 

发表时间 Mon 05 Feb 24 @ 12:12 pm
@locodog
how exactly do you have to insert it?
[if you want this as an independent tab, you can make it a shortcut by adding this to setting sideviewShortcuts]
geniusdj://linked

and how can you remove an incorrect title link?


 

发表时间 Mon 05 Feb 24 @ 1:42 pm
locoDogPRO InfinityModeratorMember since 2013
You add it to the setting, in settings.

How to remove a link, exactly like how you remove from other lists, rightclick>remove
 

发表时间 Mon 05 Feb 24 @ 2:31 pm
If I connect two tracks with mark_related_Track there is a way to make the connected track that has not played, however, is automatically reproduced?

It would be useful for me to make the audio or video tracks of the same song reproduced, because obviously on one evening or sound one or the other and I confuse me not to see them as reproduced on the list.
 

发表时间 Tue 06 Feb 24 @ 1:31 pm
Newbie needing help here!

I have my Pioneer DDJ-RZ controller sync button mapped as "auto_pitch_lock & auto_match_bpm & sync" but it keeps changing my autoBPMMatch preference to "smart" when I toggle the button.

I want that preference to stay as "always" when my controller sync button is on.

What do I need to do to make that happen? 😛
 

发表时间 Sun 11 Feb 24 @ 6:01 am
locoDogPRO InfinityModeratorMember since 2013
looks like smart is the favoured setting of the script, you can go via the script settings autoBPMMatch always

auto_pitch_lock & ( auto_pitch_lock ? setting autoBPMMatch always : auto_match_bpm off ) & sync
 

发表时间 Sun 11 Feb 24 @ 6:16 am
That is FANTASTIC!! I just tried it and it works great. THANK-YOU!!
 

发表时间 Sun 11 Feb 24 @ 2:28 pm
Alright, another newbie question here. I've learned a lot in the last week of using VDJ but I think it's going to take a lot of time and patience to master the script stuff!

Part 1

On my controller, I have mapped the FX PANEL button like this:

browser_window 'sideview' & show_splitpanel 'sideview' 30% ? show_splitpanel 'sideview' 0% : show_splitpanel 'sideview' 30%

This means that when I click FX PANEL, it will open / close the sideview, and when I do so, it also changes the active browser zone to the sideview, highlighting the first song in whatever track list is there. Perfect!

Part 2

On my controller, the BACK button is mapped like this:

browser_window 'folders' ? browser_window 'songs' : browser_window 'folders'

The Issue

I want to change the BACK button script, if possible, so that when the sideview is open, the BACK button can be used to change the active browser zone between folders, songs, and the sideview.

Right now if the active browser zone is the sideview, and I hit BACK, it will go back to only selecting between the folders and songs browser views. The only way I can change the active browser zone to the sideview, is by clicking the FX PANEL button twice to close and reopen the sideview.
 

发表时间 Mon 12 Feb 24 @ 2:35 pm
Something like this I guess: show_splitpanel sideview ? browser_window +1 : browser_window 'folders,songs'

BTW:
browser_window 'folders' ? browser_window 'songs' : browser_window 'folders' can also be written more simple as browser_window 'folders,songs'

loco edit, corrected iPhone style commas
 

发表时间 Mon 12 Feb 24 @ 2:43 pm
93%