diff --git a/ChangeLog b/ChangeLog index eb5a0d3c..f90e2c99 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16963,3 +16963,5 @@ 2018-05-30 Fred Gleason * Merged pull request #000200, "Set SCHEDULED_AT when adding to the STACK". +2018-05-30 Fred Gleason + * Implemented '%v/%V' metadata wildcards for event length (seconds). diff --git a/docs/opsguide/metadata_wildcards.xml b/docs/opsguide/metadata_wildcards.xml index 443ce621..e847c9a5 100644 --- a/docs/opsguide/metadata_wildcards.xml +++ b/docs/opsguide/metadata_wildcards.xml @@ -36,7 +36,7 @@ %s%SSong ID %t%TTitle %u%UUser Definied - %v%V[Unassigned] + %v%VEvent length (seconds, rounded down) %w%W[Unassigned] %x%X[Unassigned] %y%YRelease Year diff --git a/lib/rdnownext.cpp b/lib/rdnownext.cpp index 0df49321..db9c2645 100644 --- a/lib/rdnownext.cpp +++ b/lib/rdnownext.cpp @@ -81,6 +81,8 @@ void RDResolveNowNext(QString *str,RDLogLine **loglines,int encoding) if(loglines[0]!=NULL) { str->replace("%n",QString().sprintf("%06u",loglines[0]->cartNumber())); str->replace("%h",QString().sprintf("%d",loglines[0]->effectiveLength())); + str->replace("%v", + QString().sprintf("%d",loglines[0]->effectiveLength()/1000)); str->replace("%g",RDResolveNowNextEncode(loglines[0]->groupName(), encoding)); str->replace("%t", @@ -107,6 +109,7 @@ void RDResolveNowNext(QString *str,RDLogLine **loglines,int encoding) else { // No NOW PLAYING Event str->replace("%n",""); str->replace("%h",""); + str->replace("%v",""); str->replace("%g",""); str->replace("%t",""); str->replace("%a",""); @@ -131,6 +134,8 @@ void RDResolveNowNext(QString *str,RDLogLine **loglines,int encoding) if(loglines[1]!=NULL) { str->replace("%N",QString().sprintf("%06u",loglines[1]->cartNumber())); str->replace("%H",QString().sprintf("%d",loglines[1]->effectiveLength())); + str->replace("%V", + QString().sprintf("%d",loglines[1]->effectiveLength()/1000)); str->replace("%G",RDResolveNowNextEncode(loglines[1]->groupName(), encoding)); str->replace("%T",RDResolveNowNextEncode(loglines[1]->title(),encoding)); @@ -156,6 +161,7 @@ void RDResolveNowNext(QString *str,RDLogLine **loglines,int encoding) else { // No NEXT Event str->replace("%N",""); str->replace("%H",""); + str->replace("%V",""); str->replace("%G",""); str->replace("%T",""); str->replace("%A","");