* Added 'RDPodcastListModel'.
* Refactored the 'Podcast Item List' dialog in rdcastmanager(1) to
use the model-based API.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added 'RDFeedListModel' class
* Refactored the top-level window in rdcastmanager(1) to use the
model-based API.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added 'RDDropboxListModel' class
* Refactored the 'List Dropboxes' dialog in rdadmin(1) to use the
model-based API.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added 'RDStationListModel' class
* Refactored the 'List Hosts' dialog in rdadmin(1) to use the
model-based API.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added 'RDServiceListModel' class
* Refactored the 'List Services' dialog in rdadmin(1) to use the
model-based API.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDLogIcons::userType()' method.
* Added a 'RDUser::Type' enumeration.
* Added a 'RDUser::type()' method.
* Added a 'RDUserListModel' class.
* Refactored the 'List Users' dialog in rdadmin(1) to use the
model-based API.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDGroupListModel' class.
* Refactored the 'List Groups' dialog in rdadmin(1) to use the
model-based API.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Renamed the 'RDCartDrag' class to 'RD3CartDrag'.
* Renamed the 'RDEmptyCart' widget to 'RD3EmptyCart'.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDCartFilter' widget.
* Added a 'RDLibraryModel' model.
* Refactored rdlibrary(1)'s main window to use the model-based
API.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDCutListModel' class.
* Refactored the 'Edit Cart' dialog in rdlibrary(1) to use the
model-based API.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDLogListModel' class.
* Added a 'RDLogIcons::listIcon()' method.
* Refactored rdlogedit(1) to use 'RDLogListModel'.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added an 'RDDataPacer' class.
* Modified the GVC7000 switcher driver to insert 50 mS pauses
between protocol commands.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Dropped the 'FEEDS.AUDIENCE_METRICS' field from the database.
* Dropped the 'FEEDS.KEEP_METADATA' field from the database.
* Dropped the 'FEEDS.MEDIA_LINK_MODE' field from the database.
* Dropped the 'FEEDS.REDIRECT_PATH' field from the database.
* Dropped the 'CAST_DOWNLOADS' table from the database.
* Incremented the database version to 328.
* Removed support for dynamically generated RSS feed metadata.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added a 'FEEDS.CHANNEL_SUB_CATEGORY' field to the database.
* Incremented the database version to 327.
* Added 'RDFeed::channelSubCategory()' and
'RDFeed::setChannelSubCategory()' methods.
* Added a 'RDRssCategoryBox' widget.
* Updated the 'Edit Feed' dialog in rdadmin(1) to use the
'RDRssCategoryBox' widget.
Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
* Added a 'FEEDS.CHANNEL_IMAGE_ID' field to the database.
* Added a 'FEEDS.DEFAULT_ITEM_IMAGE_ID' field to the database.
* Added a 'PODCASTS.ITEM_IMAGE_ID' field to the database.
* Incremented the database version to 324.
* Added an 'Image Manager' dialog to rdadmin(1).
* Added an 'Image Viewer' dialog on rdadmin(1).
Signed-off-by: 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.
* Consolidated the Metadata Wildcard definitions in the
'RDResolveNowNext()' function into the 'RDLogLine::resolveWildcards()'
method.
* Added 'recordMbId' and 'releaseMbId' fields to the cut XML data
schema.
* Added '%wm' ['MusicBrainz Recording ID'] and '%wr'
['MusicBrainz Release ID'] metadata wildcards.
* Added a 'RDLIBRARY.CD_SERVER_TYPE' field to the database.
* Added an 'RDLIBRARY.MB_SERVER' field to the database.
* Incremented the database version to 312.
* Added a 'CD Metadata Source' dropdown to the 'Configure RDLibrary'
dialog in rdadmin(1).
* Added a 'Dummy' CD metadata lookup source in the 'RDDummyLookup'
class.
* Added a 'CUTS.TRACK_MBID' field to the database.
* Added a 'CUTS.RELEASE_MBID' field to the database.
* 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'.
* 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.
* Removed 'apis/rlm/'.
* Removed the 'Edit Now & Next' button from the 'Configure RDAirPlay'
dialog in rdadmin(1).
* Removed RLM support from rdairplay(1) and rdvairplayd(8).
* Removed v1.x legacy PAD update support from rdairplay(1).
* Dropped the 'NOWNEXT_PLUGINS' table from the database.
* Dropped the 'LOG_MACHINES.UDP_ADDR' field from the database.
* Dropped the 'LOG_MACHINES.UDP_PORT' field from the database.
* Dropped the 'LOG_MACHINES.UDP_STRING' field from the database.
* Dropped the 'LOG_MACHINES.LOG_RML' field from the database.
* Incremented the database version to 305.
* Renamed the RD_RLM2_CLIENT_TCP_PORT define to RD_PAD_CLIENT_TCP_PORT.
* Renamed the RD_RLM_SOURCE_UNIX_ADDRESS define to
RD_PAD_SOURCE_UNIX_ADDRESS.
* Added a RD_PYPAD_SCRIPT_DIR define.
* Added an 'RDNotification::PypadType' value to the
'RDNotification::Type' enumeration.
* Added 'PypadOwner=' and 'PypadGroup=' directives to the
'[Identity]' section of rd.conf(5).
* Added an rdpadengined(8) service.
* Added a 'PYPAD_INSTANCES.IS_RUNNING' field to the database.
* Added a 'PYPAD_INSTANCES.EXIT_CODE' field to the database.
* Added a 'PYPAD_INSTANCES.ERROR_TEXT' field to the database.
* Incremented the database version to 304.
* 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.
* Consolidated the implementation of the 'RDProfile' class into
two files.
* Added an rdselect_helper(1) SETUID helper program.
* Removed the SETUID bit from rdselect(1).