Commit Graph

107 Commits

Author SHA1 Message Date
fiso64 5ac0aaeec0 fix(player): step correctly when seeking rapidly (#2084)
* fix(player): step correctly when seeking rapidly

mediaSkipBackward/mediaSkipForward compute the new target relative to
the timestamp store, which is only refreshed by a ~500ms engine poll.
Rapid presses within that window all read the same stale position and
recompute the same target, so the time appears stuck until the poll
catches up.

Update the timestamp store immediately when a seek is issued so
subsequent presses compute from the new position; the poll then just
reconciles to the same value. Also applied to mediaSeekToTimestamp so
absolute seeks reflect in the UI without the poll lag.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(player): unify seek comments per review

Use one canonical explanation in mediaSkipBackward and have
mediaSeekToTimestamp/mediaSkipForward reference it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 23:11:21 +00:00
jeffvli 9d53c53c54 fix queue end handling to prevent repeat 2026-05-28 02:06:07 -07:00
jeffvli 755f0aab9d fix mediasession breaking on player repeat (#1472)
- switch to single web player instance for loop instead of dual-player
- this fixes the issue, but does have a breaking change if using the crossfade player
2026-05-22 01:32:22 -07:00
Braelyn Boynton f3c0b68a0f fix(player): stop radio before starting track playback (#2039)
* fix(player): stop radio before starting track playback

When internet radio is streaming, clicking a track to play does nothing
because the MPV engine guards check currentStreamUrl and bail early.
Stop the radio stream before setting up the new queue on Play.NOW and
Play.SHUFFLE so the audio engine proceeds normally.

Fixes #2038

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: correct import ordering for lint

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-18 17:58:08 -07:00
mathew4 42ded966e4 fix: proper selection of next song when using shuffle and repeat-one (#1932) 2026-04-21 00:10:21 -07:00
York d60ed0a793 feat: macOS menu enhancement (#1903) 2026-04-04 17:35:30 -07:00
jeffvli 1494c8e044 fix mpv seek error on queue end 2026-04-03 19:05:34 -07:00
jeffvli 3c42355c1e attempt to fix mpv playback sync on song insertion (#1855) 2026-04-03 18:54:49 -07:00
jeffvli 51425b5e86 various performance refactors 2026-04-01 21:57:26 -07:00
jeffvli 5cdc45836f rework queue persistence (#1862) 2026-03-27 18:48:38 -07:00
York 6d2c084355 fix: sleep timer end-of-song mode (#1706) 2026-03-07 20:23:19 -08:00
Kendall Garner 2854b928f6 fix(player): handle items in the queue moved to next before current index 2026-03-02 20:05:01 -08:00
jeffvli afca396654 attempt to fix mpv autoNext behavior (#1768) 2026-02-27 00:39:27 -08:00
jeffvli 9a4a8eb742 refactor some usePlayerSong consumers to only fetch needed properties 2026-01-21 02:02:49 -08:00
jeffvli 15633d07f0 remove the Priority queue type 2026-01-18 18:53:21 -08:00
jeffvli fc5024be90 revalidate current song in queue during playback 2026-01-16 04:18:02 -08:00
jeffvli dab1103279 manually increment queue play count on scrobble 2026-01-16 04:12:44 -08:00
jeffvli aaf840d358 resend mediasession on player repeat (#1472) 2026-01-01 20:17:49 -08:00
jeffvli cb47883328 remove unused properties from PlayerData 2026-01-01 15:31:57 -08:00
jeffvli 1a184a73de revert behavior for queue add by id 2025-12-26 14:55:53 -08:00
jeffvli e4b5cf36e1 fix duplicate PLAYER_PLAY event causing race condition in mpv 2025-12-26 14:49:06 -08:00
jeffvli a546a4d57b handle player stop on queue clear 2025-12-13 00:15:20 -08:00
Kendall Garner ed5d590a6b feat: sync play queue for navidrome/subsonic (#1335)
---------

Co-authored-by: jeffvli <jeffvictorli@gmail.com>
2025-12-12 21:05:00 -08:00
jeffvli 578083d994 fix mpv autoNext and next song replacement behavior (part 2) 2025-12-12 18:44:14 -08:00
jeffvli 29a5fa3f74 fix mpv autoNext and next song replacement behavior 2025-12-12 18:25:06 -08:00
jeffvli a4dbeff5ea fix missing emitters from onPlayerPlay 2025-12-11 21:00:00 -08:00
jeffvli 61e70342a4 fix mpv player queue behavior to handle gapless playback 2025-12-11 20:36:47 -08:00
jeffvli 10aec7bcac always set start song index to 0 when adding to queue in shuffle mode 2025-12-10 19:34:59 -08:00
jeffvli b627f4e489 revert mediaStop back to 0.x.x behavior 2025-12-10 00:48:02 -08:00
jeffvli 65a7c3440b add player autodj (#7) 2025-12-07 15:04:39 -08:00
jeffvli 999976645d properly recalculate current index when adding to shuffled queue 2025-12-04 22:24:55 -08:00
jeffvli de86f687ea fix shuffle order in usePlayerData 2025-12-04 21:33:10 -08:00
jeffvli 5ea7798c52 fix shuffle mode playback index (#1297) 2025-12-03 20:22:46 -08:00
jeffvli 55ebc7d74a improve image column play handler to support long press 2025-12-03 16:25:28 -08:00
jeffvli 65c54655ff reset all stores, remove old ones 2025-11-30 18:30:57 -08:00
jeffvli 60cdea6787 large performance refactor 2025-11-29 19:33:39 -08:00
jeffvli c77d38fca0 fix player shuffle 2025-11-29 19:33:39 -08:00
jeffvli 042047d7c1 clean up player repeat behavior 2025-11-29 19:33:39 -08:00
jeffvli 1763f666b5 add more shuffle play modes 2025-11-29 19:33:38 -08:00
jeffvli af7e52295a reimplement player scrobble 2025-11-29 19:33:38 -08:00
jeffvli 646eb4a3b0 add double click play to album detail
- add mediaPlayByIndex
- add index property to item list controls args
- add overrides to item list controls
2025-11-29 19:33:37 -08:00
jeffvli f86b00eced optimize player state for large queues 2025-11-29 19:33:36 -08:00
jeffvli 0dff13c43f crossfade player enhancements, reorganize settings 2025-11-29 19:33:35 -08:00
jeffvli 781582c043 fix queue add above current index in priority queue again 2025-11-29 19:33:34 -08:00
jeffvli 69f7f5c236 handle favorite/rating events for all tables 2025-11-29 19:33:34 -08:00
jeffvli 18a7875504 fix priority queue reorder above current song 2025-11-29 19:33:33 -08:00
jeffvli bd5f2b8f68 fix priority queue reordering index recalculation 2025-11-29 19:33:33 -08:00
jeffvli 9113756923 add new player config popover 2025-11-29 19:33:33 -08:00
jeffvli 4451389b6a move player timestamp to separate store
- for performance related issue
2025-11-29 19:33:32 -08:00
jeffvli 3d4f35e881 re-implement shuffle play type 2025-11-29 19:32:23 -08:00