Commit Graph

114 Commits

Author SHA1 Message Date
Buster "Silver Eagle" Neece 79b1bc5c4a
PHPStan upgrade and new baseline.
Changelogs summary:

 - phpstan/phpstan updated from 0.12.96 to 1.0.1 major
   See changes: https://github.com/phpstan/phpstan/compare/0.12.96...1.0.1
   Release notes: https://github.com/phpstan/phpstan/releases/tag/1.0.1

 - phpstan/phpstan-doctrine updated from 0.12.44 to 1.0.1 major
   See changes: https://github.com/phpstan/phpstan-doctrine/compare/0.12.44...1.0.1
   Release notes: https://github.com/phpstan/phpstan-doctrine/releases/tag/1.0.1
2021-11-02 23:12:02 -05:00
Buster "Silver Eagle" Neece b5fc9ad601
Use shared CallableEventManager library. 2021-08-04 21:24:27 -05:00
Buster "Silver Eagle" Neece 5cbacd5df6
System-Wide Strict Types (#4405) 2021-07-19 00:53:45 -05:00
Vaalyn 18eb64c61f
Restore missing annotateNextSong fixes from cpeter1207 (#4373) 2021-07-08 14:02:19 -05:00
Buster "Silver Eagle" Neece 3f23efa076
PHP code style fixes. 2021-06-08 01:40:49 -05:00
Buster "Silver Eagle" Neece 4195386e86
#4124 -- Build queue's "Now" timestamp based on queue, not SongHistory. 2021-05-07 10:24:34 -05:00
Buster "Silver Eagle" Neece 4cd4abe20e
Rewrite queue to prevent blocking on all regular sync tasks. 2021-04-26 11:37:20 -05:00
Buster "Silver Eagle" Neece f117644649
Apply PHP8-specific improvements. 2021-04-23 00:24:12 -05:00
Buster "Silver Eagle" Neece 9e0cddbb39
Further optimize the AutoDJ queue builder. 2021-04-11 23:47:54 -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 613137cf68
#3847 -- Update song hash to exclude converted/escaped characters. 2021-04-08 13:23:29 -05:00
Buster "Silver Eagle" Neece 14c8c6fb24
Add queue log view into Upcoming Song Queue page. 2021-02-09 18:29:43 -06:00
Buster "Silver Eagle" Neece 4adcde551c
Minor refactor of adjusted now on Queue. 2021-02-09 17:01:27 -06:00
Buster "Silver Eagle" Neece 4344d0ee6e
Properly flush entity manager in queue build operations. 2021-02-09 14:25:02 -06:00
Buster "Silver Eagle" Neece 52d2b2f3f6
#3785 -- Fix queue times running behind during live broadcasts. 2021-02-09 13:58:19 -06:00
Buster "Silver Eagle" Neece 55444a7baa
#3682 -- Prevent duplicates in AutoDJ responses.
This update prevents duplicates both within the queue (preventing the same track from playing back-to-back) and prevents the AutoDJ from sending the next track if it's the same as the current track.
2021-02-03 13:03:40 -06:00
Buster "Silver Eagle" Neece f159799edf
#3458 -- Fix issues with directly queueing media from batch operations. 2020-11-25 00:19:56 -06:00
Vaalyn 9a94e6a178
Add PHPCS for code style checks (#3273) 2020-10-14 17:19:31 -05:00
Buster "Silver Eagle" Neece 493c69e62c
Refactor Song into SongInterface and HasSongFields trait. 2020-10-04 22:32:11 -05:00
cpeter1207 de74d50481
Additional scheduling bug fixes (#3144)
* Fix scheduled items not playing reliably

* Fix once-per-day playlists looping for 15 minutes

* Adjst cued timestamps after a song is dequeued for better accuracy when making time calculations
2020-09-05 17:00:47 -05:00
cpeter1207 c9d7d18934
Fix scheduled items not playing reliably (#3143) 2020-09-05 15:54:51 -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 ad6c0b68c1
Minor code quality change on AutoDJ. 2020-08-23 21:53:51 -05:00
Buster "Silver Eagle" Neece b2668d3b4b
Further minor refinements to the AutoDJ scheduler. 2020-08-23 21:31:13 -05:00
Buster "Silver Eagle" Neece d4d2c558be
Move crossfade duration (now used in two places) to a common function. 2020-08-23 16:18:40 -05:00
Buster "Silver Eagle" Neece 672467d626
Fix AutoDJ queue double-pop error. 2020-08-23 13:38:33 -05:00
Buster "Silver Eagle" Neece c386022d39
Align contributed AutoDJ schedule improvements to code style. 2020-08-23 12:02:47 -05:00
cpeter1207 d451de594a
WIP: Fix issue where scheduled events sometimes played later than they should (#3102)
* Fix issue where scheduled events sometimes played later than they should

* Merged in some changes missed in the previous commit and reorganized some parts of AutoDJ

* Fix calculation of length of upcoming song queue

* Don't update timestamps of already cued songs

* Take crossfade duration into account when adding songs to the queue
2020-08-23 11:49:21 -05:00
Buster "Silver Eagle" Neece db0a95182e
Fix some scheduling issues; add debug log to queue. 2020-08-17 23:15:54 -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 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 85991b7546
Preemptive changes to prepare for Doctrine ORM 3.0. 2020-06-25 13:44:26 -05:00
Buster "Silver Eagle" Neece 6f26bcf1f3
#2982 -- Separate artists on more separator strings. 2020-06-24 15:11:14 -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 769de19d00
Big Visual Waveform Editor Overhaul
- Refactor Flysystem to use constants instead of magic strings for URL prefixes
 - Add audiowaveform installation to both Docker and Ansible installations
 - Use audiowaveform to generate waveforms saved to disk for every track
 - Load these waveforms when visiting the visual waveform editor page instead of using the browser to calculate them
 - Add volume control and use app-wide storage of default volume
 - Remove "beta" tag from waveform editor header
2020-05-11 19:32:41 -05:00
Buster "Silver Eagle" Neece 4804e2f710
Make Backend and Frontend config collections, avoiding "magic strings". 2020-05-02 02:58:59 -05:00
Buster "Silver Eagle" Neece 11d34a6e13
#2772 -- Pass appropriate time to request determination in AutoDJ. 2020-05-01 20:51:50 -05:00
Buster "Silver Eagle" Neece c7f4ce9a32
Have the AutoDJ queue builder reset cue times at every sync. 2020-04-26 21:17:51 -05:00
Buster "Silver Eagle" Neece 69c9af88e5
Add "rebuild queue" to debugger page; add more logging to AutoDJ scheduler. 2020-04-26 20:41:14 -05:00
Buster "Silver Eagle" Neece 3656165eda
Switch to a different weighted shuffle for AutoDJ playlists. 2020-04-26 08:44:06 -05:00
Buster "Silver Eagle" Neece b608b2fc41
#2739 -- Fix duplicate prevention and weighted scheduling. 2020-04-25 21:21:00 -05:00
Buster "Silver Eagle" Neece 774ab5a1ea
Lower log level of "Queue is already full" non-error message. 2020-04-22 17:55:29 -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 e82212629a
Make AutoDJ queue length per-station configurable. 2020-04-15 23:24:53 -05:00
Buster "Silver Eagle" Neece 8033f0e641
Minor phpdoc fix. 2020-04-15 11:58:46 -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 19f8396cbb
Move LS annotation business logic into LS adapter and out of entity. 2020-04-11 01:55:00 -05:00
Buster "Silver Eagle" Neece 6fcc8e600f
Partially revert Mutex changes and extend previously used class. 2020-04-06 00:49:20 -05:00