* Fixed a bug in the 'RDIdValidator' and 'RDTextValidator' classes
that caused them to throw exceptions when processing certain
multi-byte UTF-8 characters.
* Fixed a rendering error in the 'Edit Host' dialog in rdadmin(1).
* Fixed a bug in the 'Edit System Settings' dialog in rdadmin(1)
that caused a segfault.
* Fixed a rendering error in the 'Edit RSS Feed' dialog in rdadmin(1).
* Removed support for the 'Backup Database' ['DB'] RML.
* Removed support for automatic DB backup.
* Dropped the 'STATIONS.BACKUP_DIR' and 'STATIONS.BACKUP_LIFE'
fields drom the database.
* Incremented the database version to 296.
* 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).
* 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 the credentials fields to
be greyed out when configuring a podcast feed to use SFTP uploads.
* Fixed a bug in 'RDExport' that caused encoding of credentials
to be corrupt.
* Fixed a regression in the RDFeed service that caused detection
of feed names to fail.
* Fixed a bug in rdadmin(1) that caused the Audio Resources list
to be mal-formatted.
* Fixed a bug in rdcatch(1) that caused Record and Playout events
to be saved to the incorrect Location.
* Added a 'STATIONS.JACK_PORT' field to the database.
* Incremented the database version to 287.
* Added an 'Initial Audio Ports' control to the 'JACK Configuration'
dialog in rdadmin(1).
* Implemented 'Activate JACK Port' ['JA'] and 'Remove JACK Port' ['JR']
RMLs.
* Removed support for the '--admin-username', '--admin-password',
'--admin-hostname', '--admin-dbname', '--create-db-hostname',
'--skip-backup' and '--backup-filename' switches from rdadmin(1).
* Removed the 'Backup Database' and 'Restore Database' buttons
from rdadmin(1).
* Removed the database creation and updater code from rdadmin(1).
* Stubbed out rddbmgr(8).
* Implemented the '--create' command in rddbmgr(8).
* Fixed a bug in 'RDStation::create()' that generated corrupt records
in the 'AUDIO_INPUT' and 'AUDIO_OUTPUTS' tables when creating a
new host with no exemplar.
* 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).
* Dropped the 'CART.ISRC' field from the database.
* Dropped the 'DECKS.DEFAULT_SAMPRATE' field from the database.
* Dropped the 'RDLIBRARY.INPUT_STREAM' field from the database.
* Dropped the 'RDLIBRARY.OUTPUT_STREAM' field from the database.
* Dropped the 'RDLIBRARY.RECORD_GPI' field from the database.
* Dropped the 'RDLIBRARY.PLAY_GPI' field from the database.
* Dropped the 'RDLIBRARY.STOP_GPI' field from the database.
* Dropped the 'RDLIBRARY.DEFAULT_SAMPRATE' field from the database.
* Dropped the 'RECORDINGS.DEFAULT_SAMPRATE' field from the database.
* Dropped the 'RDLOGEDIT.SAMPRATE' field from the database.
* Dropped the 'SERVICES.TFC_START_OFFSET' field from the database.
* Dropped the 'SERVICES.TFC_START_LENGTH' field from the database.
* Dropped the 'SERVICES.MUS_START_OFFSET' field from the database.
* Dropped the 'SERVICES.MUS_START_LENGTH' field from the database.
* Incremented the database version to 285.
* Dropped the 'RDAIRPLAY.INSTANCE' field from the database.
* Dropped the 'RDAIRPLAY.CARD<n>' fields from the database.
* Dropped the 'RDAIRPLAY.PORT<n>' fields from the database.
* Dropped the 'RDAIRPLAY.START_RML<n>' fields from the database.
* Dropped the 'RDAIRPLAY.STOP_RML<n>' fields from the database.
* Dropped the 'RDAIRPLAY.OP_MODE' field from the database.
* Dropped the 'RDAIRPLAY.START_MODE' field from the database.
* Dropped the 'RDPANEL.INSTANCE' field from the database.
* Dropped the 'RDPANEL.CARD<n>' fields from the database.
* Dropped the 'RDPANEL.PORT<n>' fields from the database.
* Dropped the 'RDPANEL.START_RML<n>' fields from the database.
* Dropped the 'RDPANEL.STOP_RML<n>' fields from the database.
* Altered the default value of the 'MATRICES.PORT field to 0.
* Altered the default value of the 'MATRICES.PORT_2 field to 0.
* Altered the default value of the 'MATRICES.INPUTS field to 0.
* Altered the default value of the 'MATRICES.OUTPUTS field to 0.
* Altered the default value of the 'MATRICES.GPIS field to 0.
* Altered the default value of the 'MATRICES.GPOS field to 0.
* Incremented the database version to 284.
* Fixed bugs in rdcatch(1) that incorrectly escaped host
names in SQL calls.
* Fixed a bug in 'RDLog::create()' that failed to initialize
the modified datetime correctly.
* Added an 'AUDIO_CARDS' table to the database.
* Dropped the 'STATIONS.CARD<n>_DRIVER', 'STATIONS.CARD<n>NAME',
'STATIONS.CARD<n>_INPUTS' and 'STATIONS.CARD<n>OUTPUTS' fields
from the database.
* Incremented the database version to 282.
* Added an 'AUDIO_CARDS.CLOCK_SOURCE' field to the database.
* Added an 'AUDIO_INPUTS' table to the database.
* Added an 'AUDIO_OUTPUTS' table to the database.
* Dropped the 'AUDIO_PORTS' table from the database.
* Incremented the database version to 283.
* Changed the legend on the 'Audio Ports' button to 'ASI Audio Ports'
on the 'Edit Host' dialog in rdadmin(1).
* Changed the title of the 'Configure Audio Ports' dialog to
'Configure AudioScience Audio Ports' on the 'Edit Host' dialog
in rdadmin(1).
* Added a 'RDAIRPLAY.VIRTUAL_EXIT_CODE' field to the database.
* Incremented the database version to 281.
* Added 'RDAirPlayConf::virtualExitCode()' and
'RDAirPlayConf::setVirtualExitCode()' methods.
* Implemented Start/Stop settings for vlogs.
* Added virtual log entries to the 'LOG_MODES' table.
* Incremented the database version to 280.
* Added a control for setting vLog start modes to the 'Log Mode
Control' section of the 'Configure RDAirPlay' dialog in rdadmin(1).
* Added virtual log entries to the 'RDAIRPLAY_CHANNELS' table.
* Incremented the database version to 279.
* Added 'RDAirPlayConf::virtualCard()', 'RDAirPlay::setVirtualCard()',
'RDAirPlayConf::virtualPort()', 'RDAirPlay::setVirtualPort()',
'RDAirPlayConf::virtualStartRml()',
'RDAirPlayConf::setVirtualStartRml()',
'RDAirPlayConf::virtualStopRml()',
'RDAirPlayConf::setVirtualStopRml()' methods.
* Added a 'Virtual Log Outputs' subsection to the
'Channel Assignments' section of the 'Configure RDAirPlay' dialog
in rdadmin(1).
* Added a 'USERS.WEBGET_LOGIN_PRIV' field to the database.
* Incremented the database version to 277.
* Added 'RDUser::webgetLogin()' and 'RDUser::setWebgetLogin()'
methods.
* Added a 'Allow WebGet Login' control in the 'Production Rights'
section of the 'User' dialog in rdadmin(1).
* Fixed a bug that caused the 'Switcher Matrix' and
'Switcher Output' dropdowns to populate incorrect values when
selecting a non-local 'Switcher Host' in the 'Configure RDCatch'
dialog in rdadmin(1).
* 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.
* 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).