Author Topic: Understanding Cue Points And Adjusting Them in Batch  (Read 1216 times)

djMot

  • Jr. Member

  • Offline
  • **
  • 51
    • Girls Rock Radio
Understanding Cue Points And Adjusting Them in Batch
« on: September 28, 2015, 08:03:40 PM »
I am trying to get a handle on cue points.

Could someone please explain to me:
1) How are they determined when importing tracks.
2) How can I alter this behavior, and
3) What exactly can be altered when importing multiple tracks.

Why I need to know:
SHOUTcast Streaming requires that I provide exactly 2 minutes of time in each half hour during which they will run targeted advertising.  Most of you will already understand this.  The event that triggers the insertion of ads is when a song's metadata contains specific text.  Because the ads are geo-targeted, not everyone hears the same ads.  Some people don't get ads at all, instead, they hear the underlying tracks that are streaming directly from RadioDJ.  During this two minute window, RadioDJ is streaming public service announcements.  Some are 30 seconds in duration, some are 60, etc.,  and together they must add up to exactly two minutes.  Problem is, RadioDJ performs automatic cue point calculations when I import these PSA tracks which results in them playing for less than their exact time, and that totally screws up the return from an advertising block.

I have dozens of these PSA files, and I don't really want to spend the time adjusting each one's cue points manually.  I need them to play for their exact duration.

What I have done (tried to do):
Seeing no obvious or simple way to adjust these cue points either during or after import into RadioDJ, I went looking to the database itself hoping to find a simple solution using SQL commands to update a few fields.  I was horrified to find a single cue_points field containing convoluted multi-point, variable format strings such as:

&xta=12.1443027210884&end=12.1279790249433&fin=0&fou=0
and
&sta=0.024421768707483&xta=9.92628117913832&end=10.1824943310658&fin=0&fou=0

But, okay, I can figure that out -- sta=start, xta=next start, end=end, fin=fadein, fou=fadeout.  So, using this knowledge, and the duration field already in the songs table, I created an update statement to rewrite one of the PSA's cue points.  I then looked at that PSA in the Cue Editor and was once again horrified to realize that the duration field is set, not according to the absolute track duration, but apparently a value calculated on what I assume are the silence thresholds.  So my SQL update basically failed, too, because it assumed (understandably but incorrectly) that the absolute end of the track occurred at a value equal to the contents of the duration field.  At that point, I threw up my hands and admitted defeat.

Is there ANYTHING I can do to compute and set cue points manually, in batch, preferably just using a simple SQL update script?

An enhancement request for moving forward:
Please, normalize the database such that it contains discrete fields for each of the cue points.  Also, include a duration field that is not computed based upon threshold values, but rather indicates the absolute length of the track.  Suggested database field names:

duration - the absolute duration of the track.
cue_duration - the duration based upon the threshold values (which presently is the duration field.)
cue_start
cue_intro
cue_loopin
cue_loopout
cue_hookin
cue_hookout
cue_outro
cue_next
cue_end


Yes, this would require a mandatory database update script to modify everyone's database, but the enhanced ability to control play out timing would be invaluable to many of us.  There are several threads in this forum bemoaning the fact that there appears to be no practical means of controlling and manipulating these values.

Thanks for listening. But again, back to the original question, is there ANYTHING we can do in the meantime to manually adjust cue points in batch?


Women Artists on Internet Radio:
Girls Rock Radio - http://www.girlsrockradio.com
and
Country Girl Radio - http://www.countrygirlradio.com

Glaucius

  • New User

  • Offline
  • *
  • 4
Re: Understanding Cue Points And Adjusting Them in Batch
« Reply #1 on: January 18, 2022, 08:24:30 PM »
Just trying to better understand your problem:

In DB, you have the fields "duration" and "original_duration" resetting the cue points to start and end of file, and copying the value from "original_duration" to "duration" won't work?

mdj

  • Jr. Member

  • Offline
  • **
  • 79
Re: Understanding Cue Points And Adjusting Them in Batch
« Reply #2 on: January 18, 2022, 11:37:41 PM »
An enhancement request for moving forward:
Please, normalize the database such that it contains discrete fields for each of the cue points.  Also, include a duration field that is not computed based upon threshold values, but rather indicates the absolute length of the track.  Suggested database field names:

duration - the absolute duration of the track.
cue_duration - the duration based upon the threshold values (which presently is the duration field.)
cue_start
cue_intro
cue_loopin
cue_loopout
cue_hookin
cue_hookout
cue_outro
cue_next
cue_end


Yes, this would require a mandatory database update script to modify everyone's database, but the enhanced ability to control play out timing would be invaluable to many of us.  There are several threads in this forum bemoaning the fact that there appears to be no practical means of controlling and manipulating these values.

Thanks for listening. But again, back to the original question, is there ANYTHING we can do in the meantime to manually adjust cue points in batch?

I disagree that discrete fields would be an enhancement. I would prefer to see the cue points field become a JSON formatted field. The enhancement would be the ability to set multiple cue points in each item, ie multiple intro points, multiple hooks, multiple loops, multiple outro points.

For your issue, either. . .
  • Set the threshold settings to be extream values, thus the auto cue points will occur at the top and tail of your item when importing them (remember to change it back for ordinary items)
  • Manually change the threshold settings in the cue editor 
  • Manually change the cue points in the cue editor (do this once for each 30s, 60s, ect, then copy and paste the cue_points field from the DB for that item to others of the same length. you could then write a SQL query to update this field
Regards
Mike.