Commit Graph

52 Commits

Author SHA1 Message Date
Buster "Silver Eagle" Neece dcbc08360c
Revert PHPStan due to temp bug. 2021-09-05 03:44:44 -05:00
Buster "Silver Eagle" Neece 465d9eaab9
Move NowPlaying API entries into subfolder. 2021-08-11 10:31:02 -05:00
Buster "Silver Eagle" Neece 5cbacd5df6
System-Wide Strict Types (#4405) 2021-07-19 00:53:45 -05:00
Buster "Silver Eagle" Neece a320c1a6a0
More code cleanup. 2021-06-09 22:22:13 -05:00
Buster "Silver Eagle" Neece 668724fe1a
Implement Doctrine ORM Annotations (#4233) 2021-05-30 13:55:26 -05:00
Buster "Silver Eagle" Neece e8111cb88c
AutoDJ queue checking improvements.
Instruct the AutoDJ to use its own generated queue for playback checking instead of SongHistory (the public playback timeline) for more accurate history.
2021-03-12 00:28:04 -06:00
Buster "Silver Eagle" Neece 9508de5b55
Slightly refactor analytics function calls. 2021-02-08 22:50:25 -06:00
Buster "Silver Eagle" Neece c93d888459
Track Unprocessable Media in a separate table to avoid reprocessing it. 2020-12-22 01:10:03 -06:00
Buster "Silver Eagle" Neece aed854a17c
Settings overhaul, part 2
Make Settings a controlled entity.
2020-12-04 02:41:55 -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 731f16a494
Update raw DQL queries across the system to improve readability. 2020-12-01 18:36:09 -06:00
Buster "Silver Eagle" Neece fff8124409
Create new "API Generator" classes and use them systemwide. 2020-10-19 05:41:15 -05:00
Vaalyn 9a94e6a178
Add PHPCS for code style checks (#3273) 2020-10-14 17:19:31 -05:00
Buster "Silver Eagle" Neece 9f8667a3c6
Move more sync task functionality to repositories. 2020-10-10 22:09:49 -05:00
Buster "Silver Eagle" Neece a6ec36b21c
Analytics Overhaul and InfluxDB Removal (#3243)
- Make the Analytics table in the database the primary one for handling statistics for all stations, removing the InfluxDB dependency entirely
 - Expand the Analytics table to also track unique listeners per hour and day
 - Properly clean up the Listeners table according to each installation's history retention settings
 - Implement a cute new animated "waiting for services" startup message that avoids previous wait messages that looked more like errors
2020-10-07 18:50:30 -05:00
Buster "Silver Eagle" Neece 493c69e62c
Refactor Song into SongInterface and HasSongFields trait. 2020-10-04 22:32:11 -05:00
Buster "Silver Eagle" Neece c81ff62b5c
Remove the `Song` entity and restructure dependent tables accordingly (#3231)
* Song database and entity overhaul, part 1.
* Remove Songs table from a number of qeries and reports.
* Fix references to Songs table; rewrite StationMedia processing.
* Remove song reference in queue page.
* Allow custom log level via environment variable.
2020-10-04 17:35:41 -05:00
Vaalyn 63a2aeab26
Add configurable time range for duplicate prevention (#3172)
* Add configurable time range for duplicate prevention

* Add missing belongsTo to duplicate prevention range setting

* Fix bug in calculation of least played song when duplicate can't be prevented by taking history timestamp_start into account
2020-09-13 19:03:04 -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 2abb8bf623
Routine code cleanup. 2020-07-08 02:03:50 -05:00
Buster "Silver Eagle" Neece 4bcfad3eb5
Updates preparing for Doctrine 3.0
- Switch to EntityManagerInterface for EM uses
 - Wrap EntityManager in close-resilient wrapper
 - Close/clear/reopen EM with every request
 - Rework tests to be em->clear() resilient.
2020-06-26 15:22:53 -05:00
Buster "Silver Eagle" Neece 7ee32936da
Improve indices in heavily used tables for better performance. 2020-04-17 03:25:10 -05:00
Buster "Silver Eagle" Neece 3e3ba90048
Finish modifying queue functionality. 2020-04-15 11:44:29 -05:00
Buster "Silver Eagle" Neece f1040f7fdd
Initial refactor to separate queue management from Now Playing process. 2020-04-15 00:23:11 -05:00
Buster "Silver Eagle" Neece b580901822
Track current streamer in Song History entries. 2020-03-10 15:58:58 -05:00
Buster "Silver Eagle" Neece 4d4d75ad4d
Reunify AzuraCore and AzuraCast repositories. 2020-02-05 20:35:13 -06:00
Buster "Silver Eagle" Neece 23a47ac341
Code quality and IDE inspection fixes. 2019-12-06 18:57:50 -06:00
Buster "Silver Eagle" Neece d7819a6993
Migrate Doctrine repositories to composited, DI-friendly classes. 2019-09-29 02:50:24 -05:00
Buster "Silver Eagle" Neece bd42b64de0
Add spaces to phpdoc blocks and optimize imports. 2019-09-20 11:44:38 -05:00
Buster "Silver Eagle" Neece 513d04f7d2
Code cleanup! 2019-09-04 13:00:51 -05:00
Buster "Silver Eagle" Neece 639dddf989
Slim PHP Framework 4 Update (#1822)
Implement an upgrade of the codebase to use Slim Framework version 4, which includes the following changes:
 - Updating to Slim version 4 and the corresponding AzuraCore updates.
 - Making all objects PSR-7 Request/Response agnostic (and creating RequestHelper and ResponseHelper objects to interact with the PSR-7 Req/Resp objects).
 - Moving to PHP-DI as a DI container and implementing its autowiring support.
2019-08-06 23:33:55 -05:00
Buster Neece 21204afe14
#1405 -- Change how LS feedback is processed. 2019-04-10 17:10:36 -05:00
Buster Neece 30f8852a00
#1405 -- Fix duration not showing on media managed by LS. 2019-04-09 18:24:15 -05:00
Buster Neece d60b2fc0fe
Refactor all Doctrine queries to support PHPStorm's DQL highlighting. 2019-03-23 16:43:22 -05:00
Buster Neece 965cbbe7ad
Simplify jingle mode removal to an entity method call. 2019-03-21 06:26:21 -05:00
Buster Neece 31be1487db
Prevent "jingle mode" playlists from showing in Playing Next or History. 2019-03-21 05:54:37 -05:00
Buster "Silver Eagle" Neece 7a872d145b Fix reloading on profile, refactor how LS sends feedback to avoid issues. 2019-02-27 13:18:12 -06:00
Buster "Silver Eagle" Neece 5839702a4c Refactor some "Next Song" functionality; add LS feedback back to AzuraCast. 2019-02-25 00:43:00 -06:00
Buster "Silver Eagle" Neece 8a6701403a Code and PHPDoc cleanup to green-light level 2 static analysis. 2019-01-31 11:54:17 -06:00
Buster "Silver Eagle" Neece 395bc2aa86 Remove redundant "getNextSong" code replaced by AutoDJ class. 2019-01-29 22:51:20 -06:00
Buster "Silver Eagle" Neece fda8ba092c Fix issue with hourly cleanup wiping cued song history. 2018-12-14 19:26:47 -06:00
Buster "Silver Eagle" Neece 854cb93261
Architecture change: Integrate common AzuraCore code (#944)
* Update composer.json/lock
* Update CLI console commands
* All AzuraCore refactors except folder moves.
* MVP for all core functionality.
* Working unit/functional tests
* Remove DB dump from util/, replace with direct migration.
* Update AzuraCore, define testing mode earlier.
2018-11-12 10:59:15 -06:00
Buster "Silver Eagle" Neece 4360ffe6fc Switch all in-system URLs to use a PSR-7 compliant URI for at-endpoint modification
This fixes one significant issue in the AzuraCast system where NowPlaying responses don't respect the "always use HTTPS" or "prefer browser URL" settings.
2018-10-04 18:12:12 -05:00
Buster "Silver Eagle" Neece f19a114881 #757 -- Refactor the AzuraCast AutoDJ into its own class, employ new shuffle method. 2018-08-29 01:50:00 -05:00
Buster "Silver Eagle" Neece 9a2d5108e8 Implement Station History API, convert history report to use it. 2018-08-25 05:56:43 -05:00
Buster "Silver Eagle" Neece 2a93d75480 #700 -- Make number of song history items shown on public APIs configurable 2018-08-18 18:01:03 -05:00
Buster "Silver Eagle" Neece 98ff8f69cf
Core code restructure (#697)
* Initial renaming to a single global App\ namespace.
* Move CSRF/Flash under Session, move Session under Request
* Use new Request Station helper
* Unify App/Acl and App/Acl/StationAcl
* Alphabetize composer.json
2018-08-04 17:05:14 -05:00
Buster Silver dcd3ed0859 Move "src/" to "app/src/" and reintroduce modularization for easy plugin-style extension. 2017-04-08 03:05:33 -05:00
Buster Silver 4467b16e50 Second run of PSR-1/2 formatting and include updated AzuraCore code. 2017-01-23 18:35:16 -06:00
Buster Silver 5164d5184b Revert "Optimize imports and enforce PSR-1 and PSR-2 formatting standards."
This reverts commit 7cdba9a90b.
2017-01-23 18:17:50 -06:00