54 Commits

Author SHA1 Message Date
Fred Gleason
5386947984 2020-11-18 Fred Gleason <fredg@paravelsystems.com>
* Added a '--body-file' switch to the 'sendmail_test' test harness.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-11-19 18:57:03 -05:00
Fred Gleason
55db0e4dd9 2020-11-18 Fred Gleason <fredg@paravelsystems.com>
* Added a '--dry-run' switch to the 'sendmail_test' test harness.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-11-19 12:14:30 -05:00
Fred Gleason
365a302c96 2020-11-18 Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDSendMail()' function in 'lib/rdsendmail.[cpp|h]'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-11-19 08:52:51 -05:00
Fred Gleason
ecd2a2d427 2020-08-19 Fred Gleason <fredg@paravelsystems.com>
* Added a 'STATIONS.SSH_IDENTITY_FILE' field to the database.
	* Added a 'RECORDINGS.URL_USE_ID_FILE' field to the database.
	* Added a 'FEEDS.PURGE_USE_ID_FILE' field to the database.
	* Incremented the database version to 333.
	* Added 'RDStation::sshIdentityFile()' and
	'RDStation::setSshIdentityFile()' methods.
	* Added 'RDRecording::urlUseIdFile()' and
	'RDRecording::setUrlUseIdFile()' methods.
	* Added 'RDFeed::purgeUseIdFile()' and 'RDFeed::setPurgeUseIdFile()'
	methods.
	* Added a 'SSH Ident. File' control to the 'Host' dialog in
	rdadmin(1).
	* Added an 'Authenticate with local identity file' checkbox to
	the 'Feed' dialog in rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-08-19 10:44:41 -04:00
Fred Gleason
ddede82b47 Resolved conflicts in 'ChangeLog' 2020-06-11 14:18:24 -04:00
Fred Gleason
18dd09378b 2020-05-23 Fred Gleason <fredg@paravelsystems.com>
* Added a 'cmdline_parser_test' test harness.
	* Fixed a bug in 'RDCmdSwitch' that caused value-only arguments
	containing '=' characters to be incorrectly parsed.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-05-23 10:02:45 -04:00
Fred Gleason
434c6c8070 2020-03-18 Fred Gleason <fredg@paravelsystems.com>
* Added a 'FEED_IMAGES' table to the database.
	* Added 'feed_image_test' in 'tests/'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-05-12 10:04:04 -04:00
Fred Gleason
379fef019d Fixed conflicts when merging 'master' into 'rss' 2020-03-10 13:28:31 -04:00
Fred Gleason
a75850637f 2020-02-20 Fred Gleason <fredg@paravelsystems.com>
* Rebased 'RDUpload' to 'RDTransfer'.
2020-02-20 11:42:32 -05:00
Fred Gleason
d7f395f7db 2020-02-20 Fred Gleason <fredg@paravelsystems.com>
* Added a 'FEEDS.AUDIENCE_METRICS' field to the database.
	* Incremented the database version to 316.
	* Added a 'Collect Audience Metrics' checkbox to the 'Feed'
	dialog in rdadmin(1).
	* Added an 'RDTransfer' base class.
	* Rebased 'RDDelete' to 'RDTransfer'.
	* Added 'sftp' support to 'RDDelete'.
	* Added 'file' support to 'RDDelete'.
	* Refactored RSS generation to occur in 'RDFeed'.
	* Added a 'delete_test' test harness.
2020-02-20 11:06:46 -05:00
Fred Gleason
1a88bcb999 2020-02-19 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug with the '%y' metadata wildcard where garbage would
	be returned if a valid year had not been set.
	* Added a 'metadata_wildcard_test' harness.
2020-02-19 11:52:40 -05:00
Fred Gleason
e5b72e0cd4 2020-02-02 Fred Gleason <fredg@paravelsystems.com>
* Added support for saving Label data from MusicBrainz releases.
2020-02-01 19:42:39 -05:00
Fred Gleason
cbe375adf0 2020-01-30 Fred Gleason <fredg@paravelsystems.com>
* Renamed the 'RDCddbRecord' class to 'RDDiscRecord'.
	* Removed support for CD-TEXT from the CD rippers.
	* Removed the icedax(1) dependency.
2020-01-30 13:11:14 -05:00
Fred Gleason
729fef66bc 2020-01-29 Fred Gleason <fredg@paravelsystems.com>
* Refactored the 'RDCddbLookup' class into 'RDCddbLookup' and
	'RDDiscLookup'.
2020-01-29 19:57:10 -05:00
Fred Gleason
73c588369c 2020-01-29 Fred Gleason <fredg@paravelsystems.com>
* Moved MCN to extended attributes in the 'readcd_test' harness.
2020-01-29 09:22:48 -05:00
Fred Gleason
f036872fd6 2020-01-28 Fred Gleason <fredg@paravelsystems.com>
* Added a 'libmusicbrainz5' dependency.
	* Added a 'libdiscid' dependency.
	* Added a 'readcd_test' test harness.
2020-01-28 17:26:09 -05:00
Fred Gleason
8f5716eaa9 2020-01-27 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'datdecode_test' that made it impossible to
	test empty strings.
2020-01-27 17:37:41 -05:00
Fred Gleason
d32aa115f7 2020-01-10 Fred Gleason <fredg@paravelsystems.com>
* Removed all Qt3Support dependencies from the 'RDUpload' class.
	* Removed all Qt3Support dependencies from the 'RDDownload' class.
	* Added a 'test_download' test harness.
2020-01-10 17:06:36 -05:00
Patrick Linstruth
18539d5282 Added tests/notification_test 2019-06-01 12:02:17 -07:00
Fred Gleason
0b472716d6 2019-01-29 Fred Gleason <fredg@paravelsystems.com>
* Refactored routines for parsing/writing standard date/time strings
	(RFC822 and XML xs:dateTime formats) into 'lib/rddatetime.[cpp|h].
	* Removed the 'RDWebDateTime()', 'RDGetWebDateTime()',
	'RDGetWebDate()', 'RDGetWebTime()', 'RDGetWebMonth()',
	'RDXmlDate()', 'RDXmlTime()', 'RDXmlDateTime()' and
	'RDXmlTimeZoneSuffix()' functions from 'lib/rdweb.[cpp|h].
	* Added a 'dateparse_test' test harness.
2019-01-29 15:40:14 -05:00
Fred Gleason
e8c619988f 2018-11-14 Fred Gleason <fredg@paravelsystems.com>
* Added a '--metadata-cart=' switch to the 'audio_convert_test'
	test harness.
	* Added an 'audio_metadata_test' test harness.
	* Modified ID3 tag reading/writing to use TagLib.
2018-11-14 14:40:44 -05:00
Fred Gleason
1181df2cb0 2018-08-10 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in 'audio_convert_test' that caused a segfault
	on startup.
2018-08-10 07:32:17 -04:00
Fred Gleason
223bdc2f84 2018-08-10 Fred Gleason <fredg@paravelsystems.com>
* Changed installation location of caed(8), ripcd(8), rdcatchd(8)
	and rdrepld(8) from '@prefix@/bin' to '@prefix@/sbin'.
	* Removed code to detach from controlling terminal after startup
	from caed(8), ripcd(8), rdcatchd(8)
	and rdrepld(8).
	* Removed code to manage dropbox instances from rdcatchd(8).
	* Removed code to start service daemons automatically from
	user modules.
	* Added rdservice(8).
2018-08-10 06:09:16 -04:00
Fred Gleason
8d11616b4b 2018-08-08 Fred Gleason <fredg@paravelsystems.com>
* Modified all instances of 'QStringList::split()' calls to use
	'QString::split()'.
2018-08-08 18:11:23 -04:00
Fred Gleason
796e1bebc3 2018-08-07 Fred Gleason <fredg@paravelsystems.com>
* Removed the 'pam_rd' plug-in.
	* Removed rdchunk(1).
	* Upgraded Qt3 to Qt4.
2018-08-07 10:09:49 -04:00
Fred Gleason
b7ddea0488 2018-07-25 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug that caused the incorrect character set to be used
	when opening a DB connection.
	* Added a 'db_charset_test' test harness.
2018-07-25 10:05:38 -04:00
Fred Gleason
e7d48a3f99 2018-07-18 Fred Gleason <fredg@paravelsystems.com>
* Removed 'sas_switch_torture' and 'sas_torture' from 'tests/'.
2018-07-18 21:15:33 +00:00
Fred Gleason
7ce4b2ff10 2018-03-11 Fred Gleason <fredg@paravelsystems.com>
* Converted ripcd(8) to use RDApplication.
	* Documented a 'Notification' message type in
	'docs/apis/notification.xml'.
	* Added an 'RDMulticaster' class.
	* Added an 'mcast_recv_test' program in 'tests/'.
	* Added a 'SYSTEM.NOTIFICATION_ADDRESS' field to the database.
	* Incremented the database version to 276.
	* Added an 'Mcast Address for Notifications' control to the
	'System-Wide Settings' dialog in rdadmin(1).
	* Implemented the 'Process Notification' ['ON'] command in
	ripcd(8).
	* Added an 'RDRipc::sendNotification()' method.
	* Added an 'RDRipc::notificationReceived()' signal.
2018-03-11 20:24:39 -04:00
Fred Gleason
2df78cb26d 2018-02-06 Fred Gleason <fredg@paravelsystems.com>
* Refactored the RDUpload class to use RDApplication.
2018-02-06 07:29:11 -05:00
Fred Gleason
957772c5e6 2018-02-04 Fred Gleason <fredg@paravelsystems.com>
* Refactored the RDAudioImport class to use RDApplication.
2018-02-04 07:11:12 -05:00
Fred Gleason
69817c1941 2018-02-04 Fred Gleason <fredg@paravelsystems.com>
* Refactored the RDAudioExport class to use RDApplication.
2018-02-04 06:49:12 -05:00
Fred Gleason
e305344e6b 2018-02-04 Fred Gleason <fredg@paravelsystems.com>
* Refactored the RDAudioConvert class to use RDApplication.
	* Converted rdcatchd(8) to use RDApplication.
2018-02-04 06:18:52 -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
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
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
aef7c2229b 2017-08-31 Fred Gleason <fredg@paravelsystems.com>
* Modified web client components to use a distinctive http USER_AGENT
	string.
2017-08-31 12:38:39 -04:00
Fred Gleason
5dc6fa92a9 2017-03-29 Fred Gleason <fredg@paravelsystems.com>
* Added a 'CUTS.SHA1_HASH' field to the database.
	* Incremented the database version to 261.
	* Added a 'Sha1' column to the Cut List in 'rdlibrary/audio_cart.cpp'.
	* Added 'RDCut::sha1Hash()' and 'RDCut::setSha1Hash()' methods in
	'lib/rdcut.cpp' and 'lib/rdcut.h'.
	* Added a '--rehash=' directive to rddbcheck(8).
	* Added a 'Rehash' Web API call.
	* Added an 'RDRehash' class in 'lib/rdrehash.cpp' and 'lib/rdrehash.h'.
2017-03-29 11:09:15 -04:00
Fred Gleason
46d5ef5152 2016-08-02 Fred Gleason <fredg@paravelsystems.com>
* Added 'Start' fields to wav_chunk_test(1).
2016-08-02 16:17:07 -04:00
Fred Gleason
dac2f489c7 2016-08-02 Fred Gleason <fredg@paravelsystems.com>
* Added wav_chunk_test(1) in 'tests/wav_chunk_test/'.
2016-08-02 15:19:16 -04:00
Fred Gleason
edd8221b6f 2016-07-11 Fred Gleason <fredg@paravelsystems.com>
* Added rdxml_parse_test(1) in 'tests/'.
	* Added a RDCart::readXml()' method in 'lib/rdcart.cpp' and
	'lib/rdcart.h'.
	* Fixed a typo in the 'averageSegueLength' field in the 'RDCart::xml()'
	method in 'lib/rdcart.cpp'.
	* Removed the 'validity' field from the output of the 'RDCart::xml()'
	method in 'lib/rdcart.cpp'.
	* Removed the 'validity' and 'localCounter' fields from the output
	of the 'RDCut::xml()' method in 'lib/rdcut.cpp'.
2016-07-11 14:01:30 -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
Wayne Merricks
9dbcfd54b7 tests/sas_torture.cpp MySQL v5.7+ date/time changes 2016-06-04 23:49:26 +01:00
Wayne Merricks
45c33dc578 tests/sas_switch_torture.cpp MySQL v5.7+ date/time changes 2016-06-04 23:49:01 +01:00
Fred Gleason
698b475933 2016-05-24 Fred Gleason <fredg@paravelsystems.com>
* Removed all CVS tags.
	* Removed 'const char *name' parameter from all QObject contructors.
2016-05-24 13:13:26 -04:00
Fred Gleason
c0446ea5f7 Merged 04bd883b65b9922c35216b92b4da52245fdc7f5b from master 2015-09-15 08:06:20 -04:00
Fred Gleason
07869f9ee9 2015-08-30 Fred Gleason <fredg@paravelsystems.com>
* Added a --frames=' parameter in 'tests/audio_peaks_test.cpp'.
	* Fixed a benchpost bug in generating peak energy data in
	'lib/rdwavefile.cpp'.
2015-08-31 12:03:45 -04:00
Fred Gleason
8d70a79387 2015-08-29 Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDAudioConvert::Stage3Pcm24()' method in
	'lib/rdaudioconvert.cpp' and 'lib/rdaudioconvert.h'.
	* Added a 'Format::Pcm24' value to the 'RDSettings::Format'
	enumeration in 'lib/rdsettings.h'.
	* Modified the 'RDAudioConvert' class to support generating PCM24
	output in 'lib/rdaudioconvert.cpp' and 'lib/rdaudioconvert.h'.
	* Modified the 'RDPlayStream' class to support playing PCM24
	data in 'rdhpi/rdplaystream.cpp'.
	* Modified the 'RDRecordStream' class to support capturing PCM24
	data in 'rdhpi/rdrecordstream.cpp'.
	* Added an 'audio_peaks_test' harness in 'tests/audio_peaks_test.cpp'
	and 'tests/audio_peaks_test.h'.
	* Added 'PCM24' to the list of available formats in
	'rdadmin/edit_rdlibrary.cpp' and 'rdadmin/edit_rdlibrary.h'.
	* Added 'PCM24' to the list of available formats in
	'rdadmin/edit_decks.cpp'.
	* Added PCM24 support for file importation in
	'web/rdxport/import.cpp'.
	* Added an 'RDCae::Pcm24' value to the 'RDCae::AudioCoding
	enumeration in 'lib/rdcae.h'.
2015-08-30 07:49:44 -04:00