53 Commits

Author SHA1 Message Date
Fred Gleason
5f55a3438d 2020-11-15 Fred Gleason <fredg@paravelsystems.com>
* Added the name of the import file to schedule import failure
	reports.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-11-15 14:58:25 -05:00
Fred Gleason
b9e63c6e7c 2020-11-15 Fred Gleason <fredg@paravelsystems.com>
* 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>
2020-11-15 14:28:02 -05:00
Fred Gleason
622e2b670d 2020-11-14 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>
2020-11-15 11:33:57 -05:00
Fred Gleason
9cd09bacad 2020-11-14 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>
2020-11-14 21:18:38 -05:00
Fred Gleason
f6b4be8e29 2020-10-23 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>
2020-10-23 09:58:12 -04:00
Fred Gleason
998e0124f6 2020-10-09 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>
2020-10-09 13:48:44 -04:00
Fred Gleason
b9f84fca37 2020-10-08 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>
2020-10-08 20:08:57 -04:00
Fred Gleason
050ef6b500 2020-10-07 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>
2020-10-07 19:05:32 -04:00
Fred Gleason
2e60ea8f0b 2020-10-07 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>
2020-10-07 14:01:11 -04:00
Fred Gleason
d433e3c631 2020-08-10 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>
2020-08-10 13:17:27 -04:00
Patrick Linstruth
90a20c66ef Modified rdadmin(1) Edit Service dialog to display built-in traffic and music import template values.
Added "Copy To Custom" buttons to rdadmin(1) Edit Service dialog.
2020-04-07 15:10:53 -07:00
Fred Gleason
33fa0eaa5a 2019-07-29 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in rdlogmanager(1) that caused a 'no default column
	value' SQL error when generating a log.
2019-07-30 18:58:23 -04:00
Fred Gleason
5589d3fc97 2019-04-23 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'.
2019-04-23 18:30:30 -04:00
Fred Gleason
528d4f3f1f 2019-02-19 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in rdadmin(1) that caused cloning of an
	existing service to fail.
2019-02-19 17:59:56 -05:00
Fred Gleason
a9a3f385ad 2018-11-29 Fred Gleason <fredg@paravelsystems.com>
* 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).
2018-11-29 14:44:38 -05:00
Fred Gleason
10b08d65a8 2018-11-21 Fred Gleason <fredg@paravelsystems.com>
* 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).
2018-11-21 09:56:54 -05:00
Fred Gleason
75bec4d3c4 2018-10-19 Fred Gleason <fredg@paravelsystems.com>
* Removed 'build_win32.bat'.
	* Removed all conditional compilation based on 'WIN32'.
2018-10-19 17:03:58 -04:00
Fred Gleason
c52c9b9f8a 2018-07-20 Fred Gleason <fredg@paravelsystems.com>
* 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.
2018-07-20 19:24:11 -04:00
Fred Gleason
363dbb7878 2018-07-12 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up SQL quieries in 'lib/' ensure UTF-8 compatibility.
2018-07-12 13:47:20 -04:00
Fred Gleason
3973ab5f01 2018-07-10 Fred Gleason <fredg@paravelsystems.com>
* Added a 'STACK_LINES' table to the database.
	* Incremented the database version to 293.
2018-07-10 11:05:46 -04:00
Fred Gleason
db70aa4550 2018-07-05 Fred Gleason <fredg@paravelsystems.com>
* Added an 'ELR_LINES' table to the database.
	* Incremented the database version to 289.
	* Removed the 'RDSvc::serviceTableName()' method.
2018-07-05 08:52:38 -04:00
Fred Gleason
300aebdc04 2018-07-03 Fred Gleason <fredg@paravelsystems.com>
* Added a 'LOG_LINES' table to the database.
	* Incremented the database version to 288.
	* Removed the 'RDLog::tableName()' method.
2018-07-03 12:32:41 -04:00
Fred Gleason
84430a10ef 2018-05-31 Fred Gleason <fredg@paravelsystems.com>
* Refactored table drops to use 'RDApplication::dropTable()'.
2018-05-31 19:11:16 +00:00
Fred Gleason
c6bbac7267 2018-05-31 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up SQL errors in rdadmin(1).
2018-05-31 18:31:56 +00:00
Fred Gleason
415878a9a3 2018-05-31 Fred Gleason <fredg@paravelsystems.com>
* 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.
2018-05-31 16:48:33 +00:00
Fred Gleason
32b3d1775c 2018-05-30 Fred Gleason <fredg@paravelsystems.com>
* 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).
2018-05-31 00:09:35 +00:00
Fred Gleason
7e437154ad 2018-04-30 Fred Gleason <fredg@paravelsystems.com>
* 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.
2018-04-30 17:58:41 +00:00
Fred Gleason
8f1bd700cd 2018-02-15 Fred Gleason <fredg@paravelsystems.com>
* 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).
2018-02-15 09:39:37 -05:00
Fred Gleason
20cf2abb65 2018-01-12 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug that caused rdlogmanager(1) to throw SQL errors when
	importing music/traffic data.
2018-01-12 13:07:21 -05:00
Fred Gleason
03c10c717d 2018-01-10 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in rdlogmanager(1) that caused remerging of traffic
	data to a log to remove voice track transitions.
2018-01-10 10:18:46 -05:00
Fred Gleason
9ae18f2559 2018-01-09 Fred Gleason <fredg@paravelsystems.com>
* 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.
2018-01-09 13:55:30 -05:00
Fred Gleason
54a807fe3d 2017-12-21 Fred Gleason <fredg@paravelsystems.com>
* Added log locking logic to rdlogmanager(1).
2017-12-21 14:27:07 -05:00
Fred Gleason
d29aaf619d Merged v2.17.0-remerge-fix 2017-12-06 13:14:50 -05:00
Fred Gleason
140f8fe500 2017-12-05 Fred Gleason <fredg@paravelsystems.com>
* 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.
2017-12-05 12:41:10 -05:00
Fred Gleason
cacb87a786 2017-12-04 Fred Gleason <fredg@paravelsystems.com>
* Added a 'log_unlink_test' harness.
	* Fixed a bug that caused a log's link status flags to fail to be
	updated when the log was unlinked.
2017-12-04 15:40:54 -05:00
Fred Gleason
a8ae9f9bfa 2017-12-01 Fred Gleason <fredg@paravelsystems.com>
* Added an 'Engine=' directive to the [MySQL] section of
	rd.conf(5).
	* Refactored the schema update code to use standard form
	in rdadmin(1).
2017-12-01 17:37:37 -05:00
Fred Gleason
cbba0eb10a 2017-11-28 Fred Gleason <fredg@paravelsystems.com>
* 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.
2017-11-28 12:41:45 -05:00
Fred Gleason
52d1d8be52 2017-10-15 Fred Gleason <fredg@paravelsystems.com>
* 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.
2017-10-15 10:40:29 -04:00
Fred Gleason
fb9487810b 2017-10-14 Fred Gleason <fredg@paravelsystems.com>
* Implemented a '%r' wildcard for Rivendell Host Name.
2017-10-14 10:38:55 -04:00
Fred Gleason
2992fcd5c9 2017-09-30 Fred Gleason <fredg@paravelsystems.com>
* Added static 'RDSvc::create()' and 'RDSvc::remove()' methods.
	* Implemented 'CreateService=' and 'NewServiceTemplate=' parameters
	in the [Provisioning] section of rd.conf(5).
2017-09-30 20:14:42 -04:00
Fred Gleason
e344975433 2017-07-28 Fred Gleason <fredg@paravelsystems.com>
* 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.
2017-07-28 07:20:07 -04:00
Fred Gleason
a55afed800 2016-07-27 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in 'lib/rdsvc.cpp' that broke log data imports
	for data lines with leading whitespace.
2016-07-27 08:02:52 -04:00
Fred Gleason
232743415c 2016-07-27 Fred Gleason <fredg@paravelsystems.com>
* Removed dead code from 'lib/rdsvc.cpp'.
2016-07-27 07:29:28 -04:00
Fred Gleason
9550815023 2016-07-25 Fred Gleason <fredg@paravelsystems.com>
* 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.
2016-07-25 15:18:14 -04:00
Fred Gleason
c1675087aa 2016-06-17 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'lib/rdsvc.cpp' that caused import events with
	minute field values greater than '59' in the Start Time to fail
	to be imported.
2016-06-17 14:55:03 -04:00
Fred Gleason
c21c1a0d5d Merge branch 'stable' of https://github.com/waynemerricks/rivendell into waynemerricks-stable 2016-06-14 11:25:43 -04:00
Wayne Merricks
f1175cd2f2 Fixes for invalid NULL sql on date/times
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
2016-06-09 00:01:38 +01:00
Fred Gleason
31cd72a7a4 2016-06-07 Fred Gleason <fredg@paravelsystems.com>
* Refactored the 'RDSvc::import()' method in 'lib/rdsvc.cpp' to
	improve robustness and readability.
2016-06-07 12:56:52 -04:00
Fred Gleason
6a05fd90a5 2016-06-07 Fred Gleason <fredg@paravelsystems.com>
* 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.
2016-06-07 08:36:59 -04:00
Wayne Merricks
4523e8e90f lib/rdsvc.cpp Added null checks to purge_date as per MySQL v5.7+ changes
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).
2016-06-04 20:03:39 +01:00