Quick Sign In:  

Forum: Addons

Topic: sticky
locodogPRO InfinityModeratorMember since 2013
Discussion about sticky

Oh wow, we're live :)

Sticky, it's made to help you remember good mixes.


^There^ it is, 4 buttons
Button 1 = track on deck 1 can follow the track on deck 2
Button 2 = track on deck 2 can follow the track on deck 1

pause a second and let me explain what it actually does,
I press button 1, it takes the FILENAME of the track on deck 1 and puts that info into the grouping tag of the track on deck 2

that's the "recording/remembering" part of it.
then we have the "recalling" part of it, buttons 3 & 4

Button 3 = track on deck 1, read the grouping tag and then create a list of the tracks found there.
Button 4 = track on deck 2, read the grouping tag and then create a list of the tracks found there.

That's it - this new track follows this old track, push a button and put the name of the new track on to the tags of the old track, next time I play the old track I can push a button and it will recall "you said this track was good to go after and his track was good to go after and etc etc"

Now a couple of notes,
Note1 the fx does not need to be switched on, you press a button it will wake up for a second, commands like this are all you need
effect_button 'sticky' 1
effect_button 'sticky' 2
effect_button 'sticky' 3
effect_button 'sticky' 4

Note2, you could use 2 custom_buttons
custom_button 1; [this deck follows the other deck]
action deck 1 ? effect_button 'sticky' 1 : action deck 2 ? effect_button 'sticky' 2 :

custom_button 2; [give me the list for tracks that follow the track on this deck]
action deck 1 ? effect_button 'sticky' 3 : action deck 2 ? effect_button 'sticky' 4 :

Note3, it works with deck 1 & deck 2 only, bigger than that I'd be explaining 18 buttons.
 

Posted Fri 04 Jun 21 @ 8:16 pm
locodogPRO InfinityModeratorMember since 2013
I've been playing with this some more.
As it is now, it's very direct, if it's in the list then you put it there.
Really all it does is a bit of reading & typing text, you do all the 'discovery'

However the more tracks you mark with a sticky, there's more information that can be cross referenced that could, at least hint to other tracks to try out in practice time.

I'm still exploring ideas, and I'll give the current build some time for people to get used to it, but this is what I'm thinking.

we have a track, we make a list of known good mixes, what other tracks are known to work with tracks in this list.

1 reverse search; As normal you press the button to get your list of "known following tracks", but then a new button press will read this list and it will give you a second list of maybes by looking backwards for other tracks that have stickied any of the tracks from the first list.

2 cross reference 2nd pass; As normal you press the button to get your list of "known following tracks", but then a new button press will read this list and it will give you a second list of maybes by looking forwards for tracks that have been stickied on to the tracks from the first list.

After that it's still down to your decision if you actually sticky any of these tracks.

I'll give it some time for people to get settled with the original build.
 

Posted Sun 06 Jun 21 @ 4:33 am
locodogPRO InfinityModeratorMember since 2013
A good source for stickys could be playlists [if you're a make playlist of mixes type of person]

I made this little script to save some pain for stickying files from a playlist, it will work backwards thru a playlist

All you have to do is open a playlist, ensure reset sort order and press this button.

[work backwards thru playlist & sticky automatically][updated]
browser_window songs & browser_scroll bottom & set memory `get_browsed_song filename` & repeat_start scroll 25ms -1 & browser_scroll top ? repeat_stop scroll : browser_scroll -1 & param_contains `get_var memory` `get_browsed_song grouping` !? param_add "get_text '`get_var memory`|'" "get_browsed_song grouping" & param_cast text & browsed_song grouping & set memory `get_browsed_song filename` : set memory `get_browsed_song filename`
 

Posted Tue 08 Jun 21 @ 10:43 pm
locodogPRO InfinityModeratorMember since 2013
If you're one of the brave souls to be adopt early. I'd appreciate any feedback.
I've also got the more advanced listing version ready to go and I think it will speed up process of building a comprehensive suggestion tree by suggest stickys you might not have though of.

[I suppose I should look at how RB does this now, there might be ideas to rip off appropriate ]
 

Posted Tue 08 Jun 21 @ 10:51 pm
NicotuxHome userMember since 2014
initial init of memory is useless
With new addition to param_contains maybe something like this would prevent duplicate ?

browser_window songs & browser_scroll bottom & set memory `get_browsed_song filename` & repeat_start scroll 25ms -1 & browser_scroll top ? repeat_stop scroll : browser_scroll -1 & param_contains `get_var memory` `get_browsed_song grouping` !? param_add "get_text '`get_var memory`|'" "get_browsed_song grouping" & param_cast text & browsed_song grouping & set memory `get_browsed_song filename`
 

Posted Tue 08 Jun 21 @ 11:29 pm
locodogPRO InfinityModeratorMember since 2013
@nico, good catch, had to add a true reply to the last query to update var memory for the next turn. Thanks, script updated.
 

Posted Tue 08 Jun 21 @ 11:43 pm
locodogPRO InfinityModeratorMember since 2013
little something to link everything in songs list to everything else is song list.
not the fastest script [10 songs in ~5 seconds] I think there's a faster way but it's a complicated script, c++ version will be much quicker

repeat_start 'LinkAll' ? repeat_stop 'LinkAll' : browser_window 'songs' & browser_scroll 'top' & set 'myString' `get_browsed_song 'filename'` & browser_scroll +1 & repeat_start 'LinkAll' 25ms & param_equal `get_var 'myString'` `get_browsed_song 'filename'` ? browser_scroll 'bottom' ? repeat_stop 'LinkAll' : browser_scroll +1 & set 'myString' `get_browsed_song 'filename'` & browser_scroll 'bottom' ? browser_scroll 'top' : browser_scroll +1 : param_contains `get_var 'myString'` `get_browsed_song 'grouping'` ? browser_scroll 'bottom' ?  browser_scroll 'top' : browser_scroll +1 : param_add "get_text '`get_var myString`|'" `get_browsed_song 'grouping'` & param_cast 'text' & browsed_song 'grouping' & browser_scroll 'bottom' ?  browser_scroll 'top' : browser_scroll +1
 

Posted 7 days ago @ 1:13 pm