* Fixed a bug in rdlogmanager(1) that, after detection of a
linker error, caused subsequent linker errors to fail to be
appended to the error report.
* Fixed a bug in rdlogmanager(1) that caused second and subsequent
inline Track Markers or Markers within an Event to fail to be
inserted Relative Position mode.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDProcess::setProcessEnvironment()' method.
* Fixed a bug in 'RDSvc::create()' that failed to propagate
the 'SERVICES.SUB_EVENT_INHERITANCE', 'SERVICES.TFC_PREIMPORT_CMD',
'SERVICES.TFC_LABEL_CART', 'SERVICES.TFC_TRACK_CART',
'SERVICES.TFC_BREAK_STRING', 'SERVICES.TFC_TRACK_STRING',
'SERVICES.MUS_PREIMPORT_CMD, 'SERVICES.MUS_LABEL_CART',
'SERVICES.MUS_TRACK_CART', 'SERVICES.MUS_BREAK_STRING',
'SERVICES.MUS_TRACK_STRING', 'SERVICES.PROGRAM_CODE' and
'SERVICES.DESCRIPTION' fields when using an exemplar.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDProcess::setProcessEnvironment()' method.
* Fixed a bug in 'RDSvc::create()' that failed to propagate
the 'SERVICES.SUB_EVENT_INHERITANCE', 'SERVICES.TFC_PREIMPORT_CMD',
'SERVICES.TFC_LABEL_CART', 'SERVICES.TFC_TRACK_CART',
'SERVICES.TFC_BREAK_STRING', 'SERVICES.TFC_TRACK_STRING',
'SERVICES.MUS_PREIMPORT_CMD, 'SERVICES.MUS_LABEL_CART',
'SERVICES.MUS_TRACK_CART', 'SERVICES.MUS_BREAK_STRING',
'SERVICES.MUS_TRACK_STRING', 'SERVICES.PROGRAM_CODE' and
'SERVICES.DESCRIPTION' fields when using an exemplar.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added generation of an 'RDLogManager Error Report' when errors
are detected when importing voice track markers from an external
scheduler file in rdlogmanager(1).
* Restored operation of Label/Note carts in rdlogmanager(1).
* Fixed a bug in rdlogmanager(1) that caused inline events
without explicit start time/length data to fail to be placed.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Defined a set of standard exit code defines starting with
'RD_EXIT_' in 'lib/rd.h'.
* Regularized the exit codes returned by rdlogmanager(1).
* Cleaned up error handling when using rdlogmanager(1) in
command line mode.
* Fixed a bug in rdlogmanager(1) that could leave a log lock
asserted after exiting when handling schedule import errors.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added an 'IMPORTER_LINES.FILE_LINE' field to the database.
* Added an 'IMPORTER_LINES.LINK_START_TIME' field to the database.
* Added an 'IMPORTER_LINES.LINK_LENGTH' field to the database.
* Incremented the database version to 341.
* Reimplemented the 'RDSvc::linkLog()' and 'RDEventLine::linkLog()'
methods to use the updated 'IMPORTER_LINES' table schema.
* Added generation of an 'RDLogManager Error Report' when errors
are detected when importing an external scheduler file in
rdlogmanager(1).
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added an 'IMPORTER_LINES.TYPE' field to the database.
* Removed the 'not null' attribute from the
'IMPORTER_LINES.START_HOUR' field in the database.
* Removed the 'not null' attribute from the
'IMPORTER_LINES.START_SECS' field in the database.
* Removed the 'IMPORTER_LINES.LINK_LENGTH' field from the database.
* Removed the 'IMPORTER_LINES.INSERT_TRACK' field from the database.
* Removed the 'IMPORTER_LINES.INSERT_FIRST' field from the database.
* Removed the 'IMPORTER_LINES.TRACK_STRING' field from the database.
* Removed the 'IMPORTER_LINES.LINK_START_TIME' field from the database.
* Removed the 'IMPORTER_LINES.LINK_LENGTH' field from the database.
* Incremented the database version to 340.
* Added type icons to the 'Imported Events' list in the 'Test Import'
dialog in rdadmin(1).
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added a 'SERVICES.SUB_EVENT_INHERITANCE' field to the
database.
* Incremented the database version to 339.
* Added 'RDSvc::subEventInheritance()' and
'RDSvc::setSubEventInheritance()' methods.
* Added an 'Inline Traffic Inheritance' control to the 'Edit Service'
dialog in rdadmin(1).
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added a check in 'RDSvc::create()' to disallow creation of a
service with a name containing whitespace.
* Added whitespace to the set of banned characters for service names
in the 'Add Service' dialog in rdadmin(1).
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added a 'STACK_SCHED_CODES' table to the database.
* Dropped the 'STACK_LINES.SCHED_CODES' field from the database.
* Incremented the database version to 308.
* Renamed the 'SchedCartList' class to 'RDSchedCartList' and
refactored it to be idiomatic Qt.
* Renamed the 'SchedRulesList' class to 'RDSchedRulesList'.
* Added a 'SERVICES.INCLUDE_IMPORT_MARKERS' field to the database.
* Added a 'LOGS.INCLUDE_IMPORT_MARKERS' field to the database.
* Incremented the database version to 301.
* Added an 'Inlcude Import Markers in Finished Logs' checkbox to
the 'Edit Service' dialog in rdadmin(1).
* Removed the 'SERVICES.MUS_WIN_PATH', 'SERVICES.MUS_WIN_PREIMPORT_CMD'
'SERVICES.TFC_WIN_PATH', and 'SERVICES.TFC_WIN_PREIMPORT_CMD' fields
from the database.
* Incremented the database version to 300.
* Removed the 'RDSvc::ImportOs' enumeration.
* Removed the 'Windows Import Path' and 'Windows Preimport Command'
fields from the 'Edit Service' dialog in rdadmin(1).
* Added an 'IMPORTER_LINES' table to the database.
* Incremented the database version to 295.
* Refactored the log importer code to use the static 'IMPORTER_LINES'
table.
* Fixed a bug in rdadmin(1) that caused 'Length' parameters in
custom log import settings to fail to be copied correctly when
cloning a new service.
* Dropped the 'SERVICES.TFC_LENGTH_OFFSET' field from the database.
* Dropped the 'SERVICES.TFC_LENGTH_LENGTH' field from the database.
* Dropped the 'SERVICES.MUS_LENGTH_OFFSET' field from the database.
* Dropped the 'SERVICES.MUS_LENGTH_LENGTH' field from the database.
* Incremented the database version to 286.
* Removed drop of the 'RECORDINGS.SAMPRATE' field from schema
change 285.
* Cleaned up SQL calls in rdcatchd(8).
* Cleaned up SQL calls in 'RDStation'.
* Cleaned up SQL calls in 'RDLibraryConf'.
* Cleaned up SQL calls in 'RDLogeditConf'.
* Cleaned up SQL calls in 'RDLogLine'.
* Cleaned up SQL calls in 'RDSvc'.
* Cleaned up SQL calls in rivendell_filter(1).
* Fixed a bug that caused the 'SERVICES.TRACK_GROUP',
'SERVICES./AUTOSPOT_GROUP', 'SERVICES.DEFAULT_LOG_SHELFLIFE',
'SERVICES.LOG_SHELFLIFE_ORIGIN', 'SERVICES.TFC_IMPORT_TEMPLATE' and
'SERVICE.MUS_IMPORT_TEMPLATE field values to fail to be cloned from
the exemplar when creating a new Service.
* Added a 'SERVICES.LOG_SHELFLIFE_ORIGIN' field to the database.
* Incremented the database version to 275.
* Added a drop-down control to the 'Set Logs to auto-delete' control
to allow origin to be specified in the 'Edit Service' dialog in
rdadmin(1).
* Modified log linking to retain parent link events in linked logs.
* Fixed a bug where re-merging linked logs would generate an
'Event not placed' exception for avails that were previously
unpopulated.
* Modified log linking to retain parent link events in linked logs.
* Fixed a bug where re-merging linked logs would generate an
'Event not placed' exception for avails that were previously
unpopulated.
* Implemented application of the 'Purge Logs' setting when creating
logs manually.
* Changed the wording of the 'Purge Logs' and 'Purge ELR Data'
control in the Edit Service dialog in rdadmin(1).
* Added 'RDLog::create()' and 'RDLog::remove()' static methods.
* Added a 'STATIONS.SHORT_NAME' field to the database.
* Incremented the database version to 270.
* Added 'RDStation::shortName()' and 'RDStation::setShortName()'
methods.
* Removed the 'Broadcast Security Model' control from the 'Edit
Host' dialog.
* Added a 'Short Name' control to the 'Edit Host' dialog.
* Implemented a '%R' wildcard for Rivendell Host Short Name.
* Added static 'RDSvc::create()' and 'RDSvc::remove()' methods.
* Implemented 'CreateService=' and 'NewServiceTemplate=' parameters
in the [Provisioning] section of rd.conf(5).
* Fixed a bug in 'lib/rdevent_line.cpp' that caused embedded traffic
import events to be assigned incorrect link parameters when scheduled
immediately after a voice track.
* Added a 'SERVICE_CLOCKS' table to the database.
* Incremented the database version to 259.
* Modified 'rdlogmanager/edit_clock.cpp' to use the new
'SERVICE_CLOCKS' table.
* Modified 'rdlogmanager/list_clocks.cpp' to use the new
'SERVICE_CLOCKS' table.
Most files are simple swaps to get rid of extra " as a NULL return will give
invalid SQL if used as follows UPDATE x SET y="NULL";
See github issue 121 for more info.
Extra changes have been made to the following files:
* lib/rdcartslot.cpp
- Added a QDateTime variable to prevent EVENT_DATETIME becoming
"2016-06-09" "NULL" as it was checked separately for date and time
* lib/rdcut.cpp
- Reworked START_DATETIME and END_DATETIME to save the SQL ifs. I believe this
makes it easier to read and understand.
- The >QDate(1900,1,1) and < 8000 is probably not needed but I left it there
just in case.
* lib/rdescape_string.cpp
- Reworked to add extra " if the date is not NULL see issue 121
* lib/rdfeed.cpp && lib/rdpodcast.cpp
- Had to add a SetRow for QDateTime as with the string conversion the existing
SetRow would add an extra set of "
* lib/rdsound_panel.cpp && rdairplay/log_traffic.cpp
&& utils/rddgimport/rddgimport.cpp
- Added a QString to contain EVENT_DATETIME to prevent double checks of date
and time separately (similar to lib/rdcartslot.cpp)
* rdcatchd/rdcatchd.cpp
- Reverted the changes. The RML here is not touching the DB so is fine, plus
with the RDCheckDateTime changes you'd have extra " unless it was NULL
* tests/sas_switch_torture.cpp && sas_torture.cpp
- Included missing rdescape_string.h
* Added code in 'lib/rdevent_line.cpp' and 'lib/rdsvc.cpp' to allow
embedded traffic breaks to be specified with start time and length
in the music schedule.
Changed purge_date to a QString so that it can be checked with the normal
RDCheckDateTime function. Also means the QString.isEmpty check is a straight
forward QDate.isValid and in that case we can use QDate.toString rather than
formatting via RDCheckDateTime (and incurring another QDate.isValid check).