Commit Graph

91 Commits

Author SHA1 Message Date
Buster "Silver Eagle" Neece a9f066602c
Code quality cleanup sweep. 2022-05-08 13:05:02 -05:00
Buster "Silver Eagle" Neece b6c116438d
Fixes #4943 -- Avoid using all-numeric stubs. 2022-02-02 20:37:27 -06:00
Buster "Silver Eagle" Neece b23f28ab2a
Merge commit 'e6397a893da04c0a28c2306d39233b8a072e54e0' 2022-01-07 02:26:40 -06:00
Buster "Silver Eagle" Neece ba10526c94
Update OpenAPI generator to improve attributes. 2021-12-28 12:26:41 -06:00
Buster "Silver Eagle" Neece a2eb5d0471
Move entity OpenAPI annotations to attributes. 2021-12-19 12:50:37 -06:00
Buster "Silver Eagle" Neece fc8a2aea08
Move Doctrine EntityNormalizer and batch utilities to external libraries. 2021-11-07 02:20:52 -06:00
Buster "Silver Eagle" Neece 058f306c15
Make entity functions line up with propertyaccess. 2021-11-06 23:02:44 -06:00
Buster "Silver Eagle" Neece 5cbacd5df6
System-Wide Strict Types (#4405) 2021-07-19 00:53:45 -05:00
Buster "Silver Eagle" Neece 64b7d83258
Add ability to duplicate ("clone") playlists. 2021-07-14 19:17:22 -05:00
Vaalyn df660ea45a
Add AutoDJ setting for looping playlist only once when scheduled (#4395) 2021-07-11 00:51:00 -05:00
Buster "Silver Eagle" Neece a320c1a6a0
More code cleanup. 2021-06-09 22:22:13 -05:00
Buster "Silver Eagle" Neece 94bdc3acef
Fixes #4262 -- Fix bugs with and expand functionality of Station Cloning. 2021-06-09 18:28:44 -05:00
Buster "Silver Eagle" Neece 50d1840826
Update entities to handle Doctrine 2.9.1's prop type rollback. 2021-06-08 20:38:18 -05:00
Buster "Silver Eagle" Neece 3f23efa076
PHP code style fixes. 2021-06-08 01:40:49 -05:00
Buster "Silver Eagle" Neece b620c378a0
Move namespace of DeepNormalize attribute. 2021-05-31 16:30:40 -05:00
Buster "Silver Eagle" Neece 00c4afae50
Move AuditLog classes around and clean up AuditLog handler. 2021-05-30 20:15:34 -05:00
Buster "Silver Eagle" Neece 668724fe1a
Implement Doctrine ORM Annotations (#4233) 2021-05-30 13:55:26 -05:00
Buster "Silver Eagle" Neece e893a93981
Routine PHP 8 code inspection sweep
- Removing explicit calls to default values
 - Add strict parameter arguments
 - Use PHP8 built-in functions when possible
2021-04-23 17:12:47 -05:00
Buster "Silver Eagle" Neece 4e6f1d700c
Reimplement playlist queue to be attached to StationPlaylistMedia table. (#4031) 2021-04-17 13:42:30 -05:00
Buster "Silver Eagle" Neece e7cf4e585e
Heavily optimize the AutoDJ queue building process. 2021-04-11 23:17:29 -05:00
Buster "Silver Eagle" Neece 7ef94077cd
#3863 -- Don't reshuffle queue when adding tracks. 2021-03-24 05:32:28 -05:00
Buster "Silver Eagle" Neece e119903792
Significantly optimize the Playlist Folder task and fix bug with queue resetting. 2021-03-23 11:45:43 -05:00
Buster "Silver Eagle" Neece f0c91ba563
Split playlist actions into standalone files. 2021-03-07 02:00:37 -06:00
Buster "Silver Eagle" Neece cabeeb5cc0
Move "Enable Advanced Settings" to DB and make it actually work. 2021-02-02 22:17:57 -06:00
Buster "Silver Eagle" Neece 3d5fbe5a2c
Hide PhpStorm inspection on Doctrine entities. 2020-12-08 12:40:33 -06:00
Buster "Silver Eagle" Neece 5727f12b6f
Settings refactor part 1: Rename App\Settings to App\Environment.
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.
2020-12-02 22:18:06 -06:00
Buster "Silver Eagle" Neece 6de636f475
Unified Filesystem Overhaul (#3341)
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.
2020-11-09 21:06:48 -06:00
Vaalyn 9a94e6a178
Add PHPCS for code style checks (#3273) 2020-10-14 17:19:31 -05:00
Buster "Silver Eagle" Neece 5eafa64326
Avoid resetting playback queues entirely when adding/removing a track. 2020-10-08 03:52:09 -05:00
donbeto97 7f24b43436
Fix Advanced Play Single Track problem (#3141)
* 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>
2020-09-05 15:56:35 -05:00
Buster "Silver Eagle" Neece 63e0040e8f
Bump static analysis level and make strict type fixes. 2020-08-31 17:32:30 -05:00
Buster "Silver Eagle" Neece 23f2172488
Scheduler/StationQueue Rework (#3087)
Create a new "StationQueue" entity that contains the upcoming song queue, and split the important AutoDJ functionality across multiple classes (Annotations, Queue and Scheduler).
2020-08-16 09:54:01 -05:00
Buster "Silver Eagle" Neece 994d5b2986
Switch from Cakephp/Chronos to CarbonImmutable. 2020-07-08 18:50:44 -05:00
Buster "Silver Eagle" Neece 234e2ce587
Allow "prevent duplicates" selection on a per-playlist basis. 2020-06-04 04:00:35 -05:00
Buster "Silver Eagle" Neece 0069df6d2d
Disable certain dangerous "advanced" features by default in new installs.
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.
2020-05-27 02:36:30 -05:00
Buster "Silver Eagle" Neece bb1188ebc9
Make stream-type remote URL playlists managed by Liquidsoap only.
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.
2020-05-18 02:03:22 -05:00
Buster "Silver Eagle" Neece bd6d3203b1
Add On-Demand Streaming/Download Support (#2836)
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.
2020-05-15 05:13:47 -05:00
Buster "Silver Eagle" Neece 25e1ce4f20
Fix small but very silly logic bug with once-per-day playlists. 2020-04-18 20:14:07 -05:00
Buster "Silver Eagle" Neece f181927280
Move schedule check to its own function. 2020-04-18 11:46:39 -05:00
Buster "Silver Eagle" Neece fcc35d63a5
Fix logic bug with once-per-day playlist schedule entries. 2020-04-18 11:42:38 -05:00
Buster "Silver Eagle" Neece 2d5ea6db6a
#2689 -- Modify how playlist "played()" times are tracked for queueing. 2020-04-16 18:57:27 -05:00
Buster "Silver Eagle" Neece 94e66f894b
Minor entity class refactor. 2020-03-29 02:16:41 -05:00
Buster "Silver Eagle" Neece 49a626829b
Fix bug with scheduled playlists with identical start/end times. 2020-02-24 14:39:42 -06:00
Buster "Silver Eagle" Neece 53a0bfff58
Refactor "shouldPlayNow" to use Chronos; fix bug with Schedule display. 2020-02-18 04:17:27 -06:00
Buster "Silver Eagle" Neece 33d2ed64ae
Implement Streamer Schedules, Schedule Enforcement and new Scheduled Items Panel on Profile (#2422)
* 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.
2020-02-17 22:32:14 -06:00
Buster "Silver Eagle" Neece 4d4d75ad4d
Reunify AzuraCore and AzuraCast repositories. 2020-02-05 20:35:13 -06:00
Buster "Silver Eagle" Neece e7d0ea60f4
#2185 -- Reimplement handling of "play once per day" schedule entries. 2019-12-11 22:04:44 -06:00
Buster "Silver Eagle" Neece 9157cd36d9
#2185 -- Fix bug with multiple schedule items. 2019-12-02 16:38:20 -06:00
Buster "Silver Eagle" Neece 0bedfa07e4
Move hyphen filter to more appropriate LS location. 2019-12-02 16:12:27 -06:00
Buster "Silver Eagle" Neece cd22cb84fc
#2183 -- Filter dashes from playlist short names. 2019-12-02 15:54:09 -06:00