Commit Graph
2117 Commits
Author SHA1 Message Date
Drew Weymouth c3b9763724 handle stop properly when pendingLoadPaused 2026-03-05 06:42:22 -08:00
Drew Weymouth 47668bcec9 stop waveform from refreshing when unpausing the initial track 2026-02-27 08:29:57 -08:00
Drew Weymouth 6782e8d470 make sure waveform shows up for track loaded paused when starting app 2026-02-21 10:17:20 -08:00
Drew WeymouthandClaude Sonnet 4.6 dba540861f fix: defer MPV playback start until user unpauses on session restore
Instead of play → pause → sleep → seek when restoring a paused session,
introduce loadTrackPaused which sets internal state and fires UI/OS
callbacks (song change, paused) without touching MPV. On Continue(),
detect pendingLoadPaused and start MPV playback from the saved position.

Also triggers waveform pre-generation for the paused track via the
onBeforeSongChange hook.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 09:40:59 -08:00
Drew Weymouth ce3ae4f15a Fix #700: add Song Radio context menu item to play queue list 2026-02-20 20:02:28 -08:00
Drew WeymouthandClaude Sonnet 4.6 b40c154f7e move shuffle and repeat controls into main player controls (#862)
Shuffle moves to the far left of the transport buttons and repeat to the far right, flanking prev/play/next. Both use a new IconButtonSizeSmallest (10% smaller than IconButtonSizeSmaller) with 2dp spacing separating them from the adjacent transport buttons. Wiring updated in bottompanel.go accordingly.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 18:53:02 -08:00
Drew Weymouth e31f546e09 Merge pull request #815 from Tim-Kaiser/feature/shuffle
Shuffle play queue
2026-02-20 18:17:55 -08:00
Drew Weymouth c462720424 fix bug where unshuffling while playing last track in linear queue order crashes at end of track 2026-02-20 18:11:17 -08:00
Drew Weymouth 68268c323b fix order of operations when toggling shuffle 2026-02-20 17:46:37 -08:00
Siiiiinth 294be9a0a3 fix track restarting on shuffle 2026-02-20 16:16:52 +01:00
Siiiiinth 91701902e6 fixed playTrackAt when double clicking track 2026-02-20 15:57:54 +01:00
Siiiiinth 194e15cff6 Merge branch 'main' into feature/shuffle 2026-02-20 15:18:22 +01:00
Drew Weymouth 6b382c6293 Fix #857: Clear in-memory cache as well as on disk 2026-02-19 08:27:32 -08:00
Drew WeymouthandClaude Sonnet 4.6 9dd606ce73 Normalize server URLs before connecting (#861)
* Fix #304: normalize server URLs before connecting

Prepend http:// when no scheme is present and strip trailing slashes
for all server types. For Jellyfin, additionally strip /web/index.html
and /web path suffixes that users copy from the browser URL bar.

Normalization is applied in ServerManager.connect() on the by-value
parameter, so stored config is never mutated.

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

* move url normalize funcs

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-17 19:34:47 -08:00
Drew WeymouthandClaude Sonnet 4.6 e21908cd24 Add -reload-theme CLI flag to re-apply the current theme file (#860)
* Add -reload-theme CLI flag to re-apply theme via IPC

Sends a reload-theme IPC message to a running instance, causing it to
call fyne.CurrentApp().Settings().SetTheme(m.theme). Follows the same
callback pattern as -show (OnReactivate) and quit (OnExit).

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

* actually re-read theme file

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-17 16:56:51 -08:00
Siiiiinth 279bc997aa removed unnecessary guard 2026-02-15 21:14:30 +01:00
Siiiiinth f7c33da085 reorderItems returns a copy now 2026-02-15 21:06:59 +01:00
Siiiiinth dccd2d8f1a clarify loadItems functionality 2026-02-15 20:54:14 +01:00
Siiiiinth a9b3a3d9f4 typo 2026-02-15 19:26:02 +01:00
Siiiiinth bf2cb25a7a move err handling 2026-02-15 19:24:56 +01:00
Siiiiinth 9919f59b47 changed comment 2026-02-15 18:53:44 +01:00
Siiiiinth 575c018ca4 merge remote 2026-02-15 18:45:17 +01:00
Siiiiinth cc35b54898 fixed typo 2026-02-15 18:44:41 +01:00
Siiiiinth 16adc4b4fd fixed track removal 2026-02-15 09:29:48 -08:00
Siiiiinth ad18e304d5 fixed bug in SetShuffle 2026-02-15 09:29:48 -08:00
Siiiiinth d59d7ac529 load full queue state on start 2026-02-15 09:29:48 -08:00
Siiiiinth c09ec3673a fixed various bugs with inserting and adding tracks 2026-02-15 09:29:48 -08:00
Siiiiinth acfead5b84 wip restore queues on start 2026-02-15 09:29:47 -08:00
Siiiiinth 9440f65e93 lint 2026-02-15 09:29:20 -08:00
Siiiiinth 0e0ea5a165 fixed TODOs, first checkpoint saving queue on server 2026-02-15 09:29:20 -08:00
Siiiiinth cec32f68e3 save shuffle state in config 2026-02-15 09:29:20 -08:00
Siiiiinth 1a5fed3add move current track to front on shuffle 2026-02-15 09:29:20 -08:00
Siiiiinth 15caaad5cf code clean up - remove tracks 2026-02-15 09:29:20 -08:00
Siiiiinth c21be4e55f fix lint 2026-02-15 09:29:20 -08:00
Siiiiinth 17e20e1596 implement remove track for shuffle 2026-02-15 09:29:17 -08:00
Siiiiinth 9874ca8c06 todo comments 2026-02-15 09:28:38 -08:00
Siiiiinth f010ef0272 checkpoint 3: base shuffle works, but very bad code 2026-02-15 09:28:38 -08:00
Siiiiinth 6a5ec33799 use new play queue len func in playbackmanager 2026-02-15 09:28:38 -08:00
Siiiiinth 177c43655d shuffle func checkpoint 2 2026-02-15 09:28:38 -08:00
Siiiiinth 452ac8ff5b checkpoint shuffle impl 2026-02-15 09:28:38 -08:00
Siiiiinth d8b63d93d8 insertItemsIntoPlayQueueAt func 2026-02-15 09:28:38 -08:00
Siiiiinth ba0fcfb9ab getPlayQueue func 2026-02-15 09:28:38 -08:00
Siiiiinth 79b2b293fc getPlayQueueItemAt func 2026-02-15 09:28:38 -08:00
Siiiiinth 65081246d9 reordered playqueue func 2026-02-15 09:28:38 -08:00
Siiiiinth 72f2068dc3 setPlayQueue func 2026-02-15 09:28:38 -08:00
Siiiiinth 83edeafe7c clearPlayQueue func 2026-02-15 09:28:38 -08:00
Siiiiinth ac480ec92c getPlayQueueLength func 2026-02-15 09:28:38 -08:00
Siiiiinth bab54833c3 wip 2026-02-15 09:28:38 -08:00
Siiiiinth 169304b931 rem callback 2026-02-15 09:28:38 -08:00
Siiiiinth 405d9643b3 added shuffle button to UI + base data flow 2026-02-15 09:28:38 -08:00