From f7a1342f6924db7a193de62f33521a7d2a950fd7 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Thu, 20 Oct 2022 20:35:42 -0400 Subject: [PATCH] 2022-10-20 Fred Gleason * Modified the start time display string to use 'H' and 'S' to distinguish hard and soft start times. Signed-off-by: Fred Gleason --- ChangeLog | 3 +++ docs/opsguide/rdlogedit.xml | 28 ++++++++-------------------- lib/rdlog_line.cpp | 7 ++++++- lib/rdlogmodel.cpp | 7 +++++-- lib/rdlogplay.cpp | 6 +++++- rdairplay/loglinebox.cpp | 13 ++++++++++--- rdlogedit/list_reports.cpp | 7 ++++++- 7 files changed, 43 insertions(+), 28 deletions(-) diff --git a/ChangeLog b/ChangeLog index 30d23b57..d9033099 100644 --- a/ChangeLog +++ b/ChangeLog @@ -23543,3 +23543,6 @@ 2022-10-20 Fred Gleason * Fixed a bug in rdlogmanager(1) that caused the Chain-To event to be dropped when linking music events in bypass grid mode. +2022-10-20 Fred Gleason + * Modified the start time display string to use 'H' and 'S' to + distinguish hard and soft start times. diff --git a/docs/opsguide/rdlogedit.xml b/docs/opsguide/rdlogedit.xml index 01c2d9cb..5fe0853e 100644 --- a/docs/opsguide/rdlogedit.xml +++ b/docs/opsguide/rdlogedit.xml @@ -420,36 +420,24 @@ - The Hard Time Type + The Hard and Soft Time Types - A hard time type causes the event to be executed or otherwise acted + A hard or soft time type causes the event to be executed or otherwise + acted upon when the wall clock equals the time associated with the event. - Hard times are a powerful feature that can be used to synchronize - the log to various external events. An event can be assigned a - hard time by clicking the Start at + Hard/soft times are powerful features that can be used to synchronize + the log to various external events. An event can be assigned a + hard/soft time by clicking the Start at check box in the Edit Log Entry and filling in the desired time, and will show up with the letter - T appearing at the beginning of + H or + S appearing at the beginning of its listed time in the Time column of the Edit Log dialog. The specific action that is performed when the time matches is determined by the option parameters supplied as part of the event. - Three basic actions are possible: - - - - - Start the event immediately - - - Cue to the event ("Make Next") - 1 - - Wait up to some period of time, then start the event - - Start Immediately diff --git a/lib/rdlog_line.cpp b/lib/rdlog_line.cpp index 491d9063..bef844eb 100644 --- a/lib/rdlog_line.cpp +++ b/lib/rdlog_line.cpp @@ -443,7 +443,12 @@ QString RDLogLine::startTimeText() const QString ret(""); if(timeType()==RDLogLine::Hard) { - ret="T"; + if(graceTime()<0) { + ret="S"; + } + else { + ret="H"; + } } else { if(!startTime(RDLogLine::Logged).isValid()) { diff --git a/lib/rdlogmodel.cpp b/lib/rdlogmodel.cpp index 49d134a4..0f9004b0 100644 --- a/lib/rdlogmodel.cpp +++ b/lib/rdlogmodel.cpp @@ -1027,10 +1027,13 @@ QString RDLogModel::StartTimeString(int line) const RDLogLine *ll=logLine(line); if(ll!=NULL) { + QString code="H"; switch(ll->timeType()) { case RDLogLine::Hard: - return QString("T")+ - rda->tenthsTimeString(ll->startTime(RDLogLine::Logged)); + if(ll->graceTime()<0) { + code="S"; + } + return code+rda->tenthsTimeString(ll->startTime(RDLogLine::Logged)); break; default: diff --git a/lib/rdlogplay.cpp b/lib/rdlogplay.cpp index 7ceea661..bbf4e018 100644 --- a/lib/rdlogplay.cpp +++ b/lib/rdlogplay.cpp @@ -1791,7 +1791,11 @@ QString RDLogPlay::cellText(int col,int row,RDLogLine *ll) const if((ll->status()==RDLogLine::Scheduled)|| (ll->status()==RDLogLine::Paused)) { if(ll->timeType()==RDLogLine::Hard) { - return tr("T")+rda->tenthsTimeString(ll->startTime(RDLogLine::Logged)); + if(ll->graceTime()<0) { + return tr("S")+ + rda->tenthsTimeString(ll->startTime(RDLogLine::Logged)); + } + return tr("H")+rda->tenthsTimeString(ll->startTime(RDLogLine::Logged)); } if(!ll->startTime(RDLogLine::Predicted).isNull()) { return rda->tenthsTimeString(ll->startTime(RDLogLine::Predicted)); diff --git a/rdairplay/loglinebox.cpp b/rdairplay/loglinebox.cpp index 527170f3..7d7c9d1e 100644 --- a/rdairplay/loglinebox.cpp +++ b/rdairplay/loglinebox.cpp @@ -964,9 +964,16 @@ void LogLineBox::PrintTime() switch(line_logline->timeType()) { case RDLogLine::Hard: line_time_label->setFont(line_bold_font); - line_time_label-> - setText("T"+rda->tenthsTimeString(line_logline-> - startTime(RDLogLine::Logged))); + if(line_logline->graceTime()<0) { + line_time_label-> + setText("S"+rda->tenthsTimeString(line_logline-> + startTime(RDLogLine::Logged))); + } + else { + line_time_label-> + setText("H"+rda->tenthsTimeString(line_logline-> + startTime(RDLogLine::Logged))); + } line_time_label->setPalette(line_hard_palette); break; diff --git a/rdlogedit/list_reports.cpp b/rdlogedit/list_reports.cpp index 00235e19..610f3e53 100644 --- a/rdlogedit/list_reports.cpp +++ b/rdlogedit/list_reports.cpp @@ -209,7 +209,12 @@ void ListReports::GenerateLogReport(QString *report) // Time // if(logline->timeType()==RDLogLine::Hard) { - *report+="T"; + if(logline->graceTime()<0) { + *report+="S"; + } + else { + *report+="H"; + } } else { *report+=" ";