快速登录:  

Forum: VirtualDJ Technical Support

话题: How to change color of text track played - Page: 1

由于该帖子的部分内容已年深日久,可能包含陈旧过时或描述错误的信息。

Hello

Is there any setting that allows virtual dj to change the color of the text of the played track like serato does? I would like to change to virtual since it has better performance but my controller is a mcx8000 and since I do not change the color of the played tracks, I cannot know just by looking at the controller screen which track has already been played, I know that virtual puts a mark but I prefer work looking only at the controller screens and this mark in the controller is not seen, greetings and excuse my english
 

发表时间 Mon 28 Sep 20 @ 7:05 pm
No, it's not possible.

Silly question, but do you not know what you're playing and whether you have already played it in your set?
 

发表时间 Mon 28 Sep 20 @ 7:31 pm
Yes, but when you have been on set for more than 4 hours, you may miss one, what are the chances that they will implement it if requested as a new feature
 

发表时间 Tue 29 Sep 20 @ 12:52 am
It's been asked for many times in the past but for some reason the Devs aren't interested in this one!
 

发表时间 Tue 29 Sep 20 @ 6:30 am
You could write a VDJscript that will write a new color to the tag section of a song (a.e. to dark red). You could trigger it when a track will be loaded on any deck. But you need to manually reset the tag at the next day (a.e. to green).
You can create a filter folder that will show you all red tracks, so you can reset all red tracks together. You can also generate filter folders with non-red tracks to see what song you have not played today.
 

发表时间 Tue 29 Sep 20 @ 7:42 am
Grok32Home userMember since 2019
You could put this in onsongload: get_text 'red' & param_cast & loaded_song 'color'

to clear make a custom button with: get_text '' & param_cast & browsed_song 'color'
 

发表时间 Tue 29 Sep 20 @ 11:55 am
NicotuxHome userMember since 2014
badly text color="" parameter is not scriptable (backquotes or not) so that only browser show color
and color in tags look like it does not register in DB (only appear again when written in tags)
what VDJ Monty call "you need to manually reset the tag at the next day"
 

发表时间 Tue 29 Sep 20 @ 12:03 pm
Grok32Home userMember since 2019
Is UserColor not the tag in DB?

<Infos SongLength="190.328163" FirstSeen="1549215457" FirstPlay="1576526562" LastPlay="1595121031" PlayCount="5" Bitrate="1411" Gain="0.572803" UserColor="4294901760" Color="4278200404" Cover="16386" />
 

发表时间 Tue 29 Sep 20 @ 12:28 pm
NicotuxHome userMember since 2014
only when written in tags
when not in tag, it disapears between sessions
 

发表时间 Tue 29 Sep 20 @ 12:30 pm
locoDogPRO InfinityModeratorMember since 2013
something like this on onSongLoad, saves current colour to field2 & colours track black

get_loaded_song 'color' & param_cast 'text' & loaded_song 'field2' & loaded_song color '#000000'

you'd need to make a filter folder for black tracks [make it in filters, call it 'black'], then [NEXT DAY Stuff] ONINIT goto that folder and set up a scrolling rsi
doing something like this
browser_gotofolder "filters/black" & repeat_start 'browserLag' 100ms 1 & browser_window 'songs' & browser_scroll 'top' & repeat_start_instant 'scrollReCol' 30ms & get_loaded_song 'field2' & param_cast & loaded_song 'color' & browser_scroll 'bottom' ? repeat_stop 'scrollReCol' : browser_scroll +1

 

发表时间 Tue 29 Sep 20 @ 12:31 pm
Grok32Home userMember since 2019
 

发表时间 Tue 29 Sep 20 @ 1:20 pm
locoDogPRO InfinityModeratorMember since 2013
simple enough, but what if the track colour isn't transparent to start with? what if it's green?
also Hint; you can colour tracks without casting
browsed_song 'color' 'red'
 

发表时间 Tue 29 Sep 20 @ 1:54 pm
Grok32Home userMember since 2019
Thanks. Still trying to learn.
 

发表时间 Tue 29 Sep 20 @ 2:15 pm
Thank you Grok32

The truth is I think that the software should be able to do it without so many complications so I can mix with the attention in the controller and not having to divert the vsta towards the computer
 

发表时间 Tue 29 Sep 20 @ 8:27 pm
The best that I have achieved so far is to assign a script to my Play button:

play_pause & loaded_song color 'darkgray'

which is better than onload because it does not change the color should I decide not to play the loaded song. And then I have a custom button to "unplay" the playlist:

browser_window 'songs' ? browser_scroll top & repeat_start 'tracks' 50ms & browsed_song color '' & browser_scroll +1 & browser_scroll bottom ? browsed_song color '' & repeat_stop 'tracks': nothing : nothing

I would like to link the coloring action to actual played status (the crossed out icon in first column) but I haven't figured out how to query the played status of the loaded song. Browser column has no heading and no query I have tried returns the played status. If I would get that then I would do a repeat_start that runs until the status changes to played, changes the color and stops. That would get pretty much reasonable result but I still have to reset the playlist by custom button.

What I ACTUALLY would like is the VDJ to have one the most basic functions in the world built-in instead of us trying to do some script black magic to achieve that.
 

发表时间 Fri 30 Oct 20 @ 5:31 pm
Grok32Home userMember since 2019
Already Played = 1 in a filter folder will give you the played songs. Doesn't seem to work in script tho.
 

发表时间 Fri 30 Oct 20 @ 7:10 pm
Grok32 wrote :
Already Played = 1 in a filter folder will give you the played songs. Doesn't seem to work in script tho.


You, Sir, are an inspirational lifesaver. The parameter is "obviously" (hey - maybe we should get some kind of documentation for the price of VirtualDJ, no?) 'alreadyplayed'

So. Step 1. Mapping for play button that keeps polling the loaded song to see if VDJ has marked it as "history" or "played" according to system setting in seconds.

play_pause & repeat_start 'isplayed' 1000ms & get_loaded_song 'alreadyplayed' & param_contains 'yes' ? repeat_stop 'isplayed' & loaded_song color 'darkgray' : nothing

Step 1a. Safeguard to stop the poller if we load new song too soon - ONSONGLOAD

repeat_stop 'isplayed'

Step 2. Keyboard shortcut to sync colors of the loaded playlist to the played status of the songs. F5 for refresh for me:

browser_window 'songs' ? browser_scroll top & repeat_start 'tracks' 50ms & get_browsed_song 'alreadyplayed' & param_contains 'yes' ? browsed_song color='darkgray' & browser_scroll +1 & browser_scroll bottom ? repeat_stop 'tracks' : nothing : browsed_song color='' & browser_scroll +1 & browser_scroll bottom ? repeat_stop 'tracks' : nothing : nothing
 

发表时间 Sat 31 Oct 20 @ 8:01 pm
NicotuxHome userMember since 2014
there is a bug in the script :
browsed_song color=''

can improve :
browsed_song 'alreadyplayed' 'yes' ?

can shrink (a little bit complexity added) :

browser_window 'songs' ? browser_scroll top & repeat_start 'tracks' 50ms & get_text `get_browsed_song 'alreadyplayed' 'yes' ? get_text 'darkgray' : get_text 'none'` & param_cast text & browsed_song 'color' & browser_scroll +1 & browser_scroll bottom ? repeat_stop 'tracks' : :

Edited: Fixed wrong paste ^^
 

发表时间 Sat 31 Oct 20 @ 10:51 pm
NicotuxHome userMember since 2014
weird question:
why does "browser_sort 'alreadyplayed'" works but 'alreadyplayed' not in selectable columns ?
 

发表时间 Sat 31 Oct 20 @ 11:52 pm
Nicotux wrote :
there is a bug in the script :
browsed_song color=''


Why is it a bug? Obviously I tested my script before submitting it here, works perfectly.

I really approve your simplifications, looks much better. Not very good at VDJscript yet, in spite of decades of coding experience this beast makes my head (and other body parts) hurt a lot :)
 

发表时间 Sun 01 Nov 20 @ 8:12 am
74%