快速登录:  

Forum: General Discussion

话题: "SongInfo send" event trigger
What is, or is there a verb, or variable that changes state, that triggers VDJ to send the SongInfo?

background:
When streaming, SongInfo is sent if broadcastSongInfo is set to Yes, and sends the broadcastSongInfoFormat variable.

What variable or verb changes state that triggers the SongInfo to be broadcast?


 

发表时间 Tue 22 Feb 22 @ 9:18 pm
locoDogPRO InfinityModeratorMember since 2013
I believe it's history delay, once a song is considered played by history it is sent.
 

发表时间 Tue 22 Feb 22 @ 10:10 pm
Thank you locodog for the quick reply.

My sense is that historyDelay is used for marking a track as PLAYED and writing to History, of course, but the send SongInfo is done when ever there is only ONE deck audible, and sends that tracks audio SongInfo at that time.

For example:
I could add and play a second track on deck 2 for its entire length, along with track 1, (vocal of one and inst & beat of the other, or any combo) and the track on deck 2's SongInfo would NOT be sent .. but it would be marked as played and in history.

Its only when in this case, that deck 1 is marked is_audible = false, (and of course deck 2 is_audible = true) that the SongInfo metadata for deck 2 is sent in the broadcast stream. Another way of thinking of this, is the new SongInfo is sent, as soon as its, the only track that is audible. could be a 3 seconds, or instantaneously.. and in most cases long before the track is marked PLAYED.

It is the same trigger (criterion) that updates the Key difference, and BPM difference columns in the browser when the new track is played. It occurs when the outgoing track is marked as (is_audible = 0). What is this variable or verb?

I am searching for this verb or variable that represents this trigger, in VDJ.


-----------------------------
If this is not exposed in VDJ script.. what would a script look like that could be used in a script as:

NewSong ? action 1 : action 2


what would NewSong be?

 

发表时间 Tue 22 Feb 22 @ 10:35 pm
the "trigger" is crossfader. Or the most audible deck

 

发表时间 Wed 23 Feb 22 @ 12:03 am
Thank you Rune..

I didn't notice that it is also affected(triggered) by, which is MOST, audible.

And the most Audible is affected by the crossfader, volume faders , or play-pause button.
All will affect when VDJ triggers that there is a NewSong, which updates the browsers columns of Key difference and sends the playing songs metadata to the stream.

and I looking for that variable or verb that defines when VDJ senses a new NewSong.

------------------------------
I can hack together a poor script that uses repeat_start, continuously, (maybe inefficient) to check when there is a NewSong.. but thinking there should be a much more clever way, not to mention VDJ already has this feature, and uses it to trigger the update of browser columns and to send song metadata when broadcasting. I just don't know what it is, hence, the subject of this thread.
 

发表时间 Wed 23 Feb 22 @ 12:47 am
locoDogPRO InfinityModeratorMember since 2013
would it be when master deck changes?
 

发表时间 Wed 23 Feb 22 @ 1:25 am
Thank you .. Locodog ..

Yes !! ... its when Master deck changes.. .. .I am understanding more... and we are getting so close.. now !

So what is triggering the change, in Master deck? or is there an easy way of writing the script:

Master deck changes ? action 1 : action 2

_______

somewhere built in to VDJ this change is being monitored to trigger the browser columns to update and to send song metadata.
 

发表时间 Wed 23 Feb 22 @ 1:46 am
locoDogPRO InfinityModeratorMember since 2013
loudest deck changes master deck [when in auto mode] [try see if manual masterdeck change forces info send]

maybe something like this in ONSONGLOAD
repeat_start 'mdChange' 100ms -1 & masterdeck ? repeat_stop 'mdChange' & WHATEVER : nothing
 

发表时间 Wed 23 Feb 22 @ 2:15 am
UPDATE: It seems I was confusing 2 similar but NOT the same.. actions..

1) Updating browser columns

2) Sending song meta data

will try to explain: wish me luck

the first..
Updating browser columns is done only when master deck changes, and browser columns reflect differences (for key and bpm) to the master deck.. this works perfectly if master deck is in Auto mode.. but does NOT change when a master deck has been selected. IE if deck 2 is master deck and not playing, the tracks in the browser will show key diff to deck 2 NOT the playing deck 1. (this is all as it should be.. I guess, but means that master deck change cannot be used for new song .. or playing song, all the time)

And if master deck is in auto mode.. then the same 2 tracks can be crossfaded or played and stopped etc to get the browser columns to change to reflect the new master decks key and bpm.. as many times as you like.. . BUT the song meta data is NOT resent each time the master deck changes..

which comes to the second:
Sending song meta data
Song meta data will be sent ONLY if a new track is loaded in a deck, and it becomes the louder deck.. and this is INDEPENDENT of the Master deck switching. IE if deck 2 is master deck and not playing but the newly loaded song on deck 1 is playing the meta data for deck1 will be sent .. and yet the browser columns will be referenced with the track on deck 2.

----------------
So the differences are
song meta data requires a new song and to be loudest.. but NOT a master deck change to send.

and
browser update requires ONLY the master deck to change to update the column info. (really only works well if master deck is in Auto mode)




-----------------
which gets me back to the original question. is there a variable or verb that represents.. the state or trigger to send song meta data?

 

发表时间 Wed 23 Feb 22 @ 3:02 am
locodog wrote :
loudest deck changes master deck [when in auto mode] [try see if manual masterdeck change forces info send]


Sending Song meta data seems to not care at all about master deck ..
for example:
having 2 new songs playing (both w faders up, I don't use crossfader) and changing manual master deck from deck 1 to deck 2 does not send deck 2 track song meta data.. only reducing fader on deck 1 triggers the song meta data of deck 2, to be sent.

see above post for more details and differences ..

and I guess you are indirectly saying that the this trigger is not exposed in VDJ script. maybe should be on the wishlist.


-----------------------------------------------------
locodog wrote :
maybe something like this in ONSONGLOAD
repeat_start 'mdChange' 100ms -1 & masterdeck ? repeat_stop 'mdChange' & WHATEVER : nothing


will try this thank you..

is the -1 for number of repetitions, mean always on or infinite? and is this different then leaving it blank as below?

repeat_start 'mdChange' 100ms & ....

did not see any documentation on use of -1 for number of reps
 

发表时间 Wed 23 Feb 22 @ 3:14 am
locoDogPRO InfinityModeratorMember since 2013
-1 means infinite, same as no value, I include it out of practice, if a implicit gets involved somehow, most cases it doesn't/wouldn't, but that 1:1000 case is avoided with it.
 

发表时间 Wed 23 Feb 22 @ 3:53 am