From 0da7f0acffed97816a4ed59241a7d1fe913eb771 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Tue, 29 Aug 2017 08:32:23 -0400 Subject: [PATCH] 2017-08-29 Fred Gleason * Added an '--ignore-stops' switch to rdrender(1). --- ChangeLog | 2 ++ docs/docbook/rdrender.xml | 26 ++++++++++++++++++++++++++ utils/rdrender/mainloop.cpp | 3 +++ utils/rdrender/rdrender.cpp | 5 +++++ utils/rdrender/rdrender.h | 1 + 5 files changed, 37 insertions(+) diff --git a/ChangeLog b/ChangeLog index be6493b2..5918c7d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15977,3 +15977,5 @@ * Changed the behavior of the '--last-line=' switch to be non-inclusive. 2017-08-29 Fred Gleason * Updated the rdrender(1) man page. +2017-08-29 Fred Gleason + * Added an '--ignore-stops' switch to rdrender(1). diff --git a/docs/docbook/rdrender.xml b/docs/docbook/rdrender.xml index 9140bfc0..dc6cf18d 100644 --- a/docs/docbook/rdrender.xml +++ b/docs/docbook/rdrender.xml @@ -83,6 +83,19 @@ + + + + + + + Treat any STOP transitions encountered as if they were PLAY. + If not given, a STOP transition will cause rendering of the log + to be terminated at that point. + + + + lineno @@ -124,6 +137,19 @@ + + + + + + + Be verbose. Among other things, this will cause + rdrender1 to print + a disposition for each log event encountered to standard error. + + + + diff --git a/utils/rdrender/mainloop.cpp b/utils/rdrender/mainloop.cpp index fa543fb2..bd270291 100644 --- a/utils/rdrender/mainloop.cpp +++ b/utils/rdrender/mainloop.cpp @@ -67,6 +67,9 @@ int MainObject::MainLoop() for(int i=0;isize();i++) { lls.push_back(new LogLine(log_event->logLine(i),render_user,render_station, render_system,render_config,render_channels)); + if(render_ignore_stops&&(lls.back()->transType()==RDLogLine::Stop)) { + lls.back()->setTransType(RDLogLine::Play); + } if((!render_first_time.isNull())&& (lls.back()->timeType()==RDLogLine::Hard)&& (render_first_line==-1)&& diff --git a/utils/rdrender/rdrender.cpp b/utils/rdrender/rdrender.cpp index 2403e46d..baeea92c 100644 --- a/utils/rdrender/rdrender.cpp +++ b/utils/rdrender/rdrender.cpp @@ -44,6 +44,7 @@ MainObject::MainObject(QObject *parent) render_channels=RDRENDER_DEFAULT_CHANNELS; render_first_line=-1; render_last_line=-1; + render_ignore_stops=false; // // Read Command Options @@ -90,6 +91,10 @@ MainObject::MainObject(QObject *parent) } cmd->setProcessed(i,true); } + if(cmd->key(i)=="--ignore-stops") { + render_ignore_stops=true; + cmd->setProcessed(i,true); + } if(cmd->key(i)=="--last-time") { render_last_time=QTime::fromString(cmd->value(i)); if(!render_last_time.isValid()) { diff --git a/utils/rdrender/rdrender.h b/utils/rdrender/rdrender.h index c8cce135..33fbc1e7 100644 --- a/utils/rdrender/rdrender.h +++ b/utils/rdrender/rdrender.h @@ -68,6 +68,7 @@ class MainObject : public QObject int render_last_line; QTime render_first_time; QTime render_last_time; + bool render_ignore_stops; RDRipc *render_ripc; RDStation *render_station; RDSystem *render_system;