76 Commits

Author SHA1 Message Date
Fred Gleason
423e2b0e81 2023-04-12 Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDUpload::createDestinationDirs()' method.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-04-12 10:16:23 -04:00
Fred Gleason
12bdbfc948 2022-12-30 Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDLIBRARY.IS_SINGLETON' field to the database.
	* Added a 'RDLOGEDIT.IS_SINGLETON' field to the database.
	* Incremented the database version to 367.
	* Added 'RDLibraryConf::isSingleton()' and
	'RDLibraryConf::setIsSingleton()' methods.
	* Added 'RDLogeditConf::isSingleton()' and
	'RDLogeditConf::setIsSingleton()' methods.
	* Modified rdcartslots(1), rdcastmanager(1), rdcatch(1),
	rdlogmanager(1) and rdpanel(1) to allow only a single instance to
	run at a time.
	* Modified rdlibrary(1) and rdlogedit(1) to conditionally allow
	only a single instance to run at a time.
	* Added an rdsinglestart(1) utility.
	* Added a 'wmctrl' dependency to the 'rivendell' RPM package.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-12-30 15:41:22 -05:00
Fred Gleason
6da25636a4 2022-11-29 Fred Gleason <fredg@paravelsystems.com>
* Added a 'SuppressRdcatchMeterUpdates=' directive to '[Hacks]'
	section of rd.conf(5).
	* Fixed a regression in the RDCatch subsystem that caused remote
	deck indication to break.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-11-29 16:41:09 -05:00
Fred Gleason
7beec8dba1 2022-11-16 Fred Gleason <fredg@paravelsystems.com>
* Added a 'QString *err_msg' argument to 'RDDownload::runDownload()'.
	* Added a 'QString *err_msg' argument to 'RDDownload::runUpload()'.
	* Fixed regression in rdcatch(1) that caused upload and download
	events to fail to show exit status correctly.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-11-16 15:31:40 -05:00
Fred Gleason
4c4a7bec08 2022-11-07 Fred Gleason <fredg@paravelsystems.com>
* Fixed regressions in 'tests/Makefile.am' that broke the build
	on Ubuntu-22.04.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-11-07 17:31:54 -05:00
Fred Gleason
4a3454cb8d 2022-11-07 Fred Gleason <fredg@paravelsystems.com>
* Added a dependency for ImageMagick's 'Magick++' library interface.
	* Added a 'FEED_IMAGES.DATA_MID_THUMB' field to the database.
	* Added a 'FEED_IMAGES.DATA_SMALL_THUMB' field to the database.
	* Incremented the database version to 365.
	* Optimized loading of thumbnail image data in rdadmin(1),
	rdcastmanager(1) and rdcatch(1).
	* Re-enabled uploads to RSS feeds in rdcatch(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-11-07 16:52:13 -05:00
Fred Gleason
95e8bff3a7 2021-10-06 Fred Gleason <fredg@paravelsystems.com>
* Added an 'rdwavefile_test' test harness in 'tests/'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-10-06 14:13:16 -04:00
Fred Gleason
ac594cc68b 2021-09-01 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up deprecation warnings for 'QString::sprintf()'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-09-01 19:59:37 -04:00
Fred Gleason
600aef26dd 2021-07-14 Fred Gleason <fredg@paravelsystems.com>
* Refactored the 'RDTimeEngine' class.
	* Added a 'timeengine_test' test harness.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-07-14 16:03:55 -04:00
Fred Gleason
8cd0e7dbdf 2021-06-25 Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDMeterStrip' widget.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-06-25 10:04:56 -04:00
Fred Gleason
59281dba07 2021-06-02 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up compile warnings in the 'test_pam' harness.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-06-02 15:24:31 -04:00
Fred Gleason
9a65658267 2021-04-27 Fred Gleason <fredg@paravelsystems.com>
* Changed the 'RDAIRPLAY_EXIT_PASSWORD' field from 'varchar(41)'
	to 'varchar(48)'.
	* Incremented the database version to 349.
	* Renamed the 'RDSha1Hash()' function to 'RDSha1HashFile()'.
	* Added 'RDSha1HashPassword()' function in 'lib/rdhash.[cpp|h]'.
	* Added 'RDSha1HashCheckPassword()' function in 'lib/rdhash.[cpp|h]'.
	* Changed the hashing algorithm used for the Exit Password for
	rdairplay(1) to salted SHA1.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-04-27 16:52:26 -04:00
Fred Gleason
a217f43d09 2021-04-26 Fred Gleason <fredg@paravelsystems.com>
* Fixed security warnings when build under Debian.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-04-26 08:37:36 -04:00
Fred Gleason
2d701bfc4c 2021-04-20 Fred Gleason <fredg@paravelsystems.com>
* Escaped all SQL identifiers in 'tests/'.
	* Replaced " with ' delimiters in all SQL literal strings in
	'tests/'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-04-20 11:19:24 -04:00
Fred Gleason
e5631a1b5f 2021-03-12 Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDMarkerView' class.
	* Added a 'RDMarkerDialog' class.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-03-12 11:08:45 -05:00
Fred Gleason
f2b8f6ddba 2021-03-11 Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDWaveFactory' class.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-03-11 14:44:40 -05:00
Fred Gleason
066be2b9e8 2021-03-11 Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDWaveWidget' class.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-03-11 11:27:04 -05:00
Fred Gleason
31af64e9aa 2021-03-09 Fred Gleason <fredg@paravelsystems.com>
* Stubbed out a 'RDWaveScene' class.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-03-09 17:25:58 -05:00
Fred Gleason
57abeada3c 2021-02-24 Fred Gleason <fredg@paravelsystems.com>
* Updated build system to use Qt5 instead of Qt4.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-02-24 16:12:22 -05:00
Fred Gleason
89a0d72439 2021-02-23 Fred Gleason <fredg@paravelsystems.com>
* Removed the Qt3Support library from the build system.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-02-23 18:07:21 -05:00
Fred Gleason
c3c5d8d4d4 2021-02-04 Fred Gleason <fredg@paravelsystems.com>
* Added 'RDDiscModel'
	* Refactored the full disc ripper in rdlibrary(1) to use the
	model-based API.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-02-04 20:23:59 -05:00
Fred Gleason
a3525c88e2 2021-01-20 Fred Gleason <fredg@paravelsystems.com>
* Split the 'RDApplication' class into the base class
	'RDCoreApplication' and 'RDApplication'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-01-20 19:50:24 -05:00
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