Previously AzuraCast had two very similar `$settings` variables, one that was from environment and the other from the database. This refactor distinguishes the two much more clearly.
This migration adds "Storage Locations", managed via a new System Administration panel, that can hold Station Media data, live broadcast recordings, and backups. These storage locations can be local (as they are by default) or remote via any S3-compatible service.
* Fix Advanced Play Single Track problem
Fixed bug for advanced setting PLAY_SINGLE_TRACK not working with scheduled playlists. Missing $this->backendPlaySingleTrack() added.
* Update StationPlaylist.php
Co-authored-by: Buster "Silver Eagle" Neece <buster@busterneece.com>
Create a new "StationQueue" entity that contains the upcoming song queue, and split the important AutoDJ functionality across multiple classes (Annotations, Queue and Scheduler).
Some functionality of AzuraCast has always been intended for "Power Users", but seemingly no amount of warnings or labels will prevent users from discovering these features, misusing them, and either burdening our support channels or declaring AzuraCast to be "broken". With this update, new installations have some of these most dangerous settings (manual port assignments, manual directory selection, custom LS/Icecast config, etc.) disabled. They can easily be re-enabled by editing "azuracast.env" and turning them on, and will remain available for all previous users by default.
The Liquidsoap team has clarified that sending an annotated URL that points to a remote stream (as we do with this stream type) is not supported; as such, we're simply disabling it and letting the Liquidsoap AutoDJ handle it.
This branch represents the initial earliest commit of a new option for radio stations that also want to make a portion of their media library available to the public (such as podcast episodes, royalty-free music, etc.) in an on-demand fashion.
Note: because of royalty restrictions with most radio stations, this feature is turned OFF by default on all stations, and even when enabled, station administrators must select each individual playlist that will contain on-demand available media.
* Commit new Schedule entity changes and new API endpoints.
* Fix possible cause of API POST errors.
* Fix syntax with JSON return slashes.
* Add "Schedule View" and "Enforce Schedule" settings to Streamers.
* Add "Scheduled" panel to Profile.