Commit Graph
1077 Commits
Author SHA1 Message Date
Drew Weymouth 93cd796f1b save scroll position of Genres page in navigation 2024-04-27 09:45:58 -07:00
Drew Weymouth 7f158ed030 add another menu separator to tracklist ctx menu 2024-04-27 07:52:24 -07:00
Drew Weymouth d6f8921c1e Update README.md 2024-04-21 09:21:34 -07:00
Drew Weymouth 4b416211c4 Update README.md 2024-04-21 09:20:10 -07:00
Drew Weymouth 59dd4a76eb prepare for 0.10.1 release 2024-04-21 09:18:52 -07:00
Drew Weymouth b49ab2cad1 make OnServerConnectedTasks async to ensure What's New dialog shows 2024-04-21 09:17:04 -07:00
Drew Weymouth d6ab56765d don't crash on exit when saving play queue with nothing playing 2024-04-21 09:13:34 -07:00
Drew Weymouth 3045fcf94e Fix refreshing of lyrics viewer on song change 2024-04-19 08:12:48 -07:00
Drew Weymouth 4861ad4532 fix crash when typing into text fields in dialogs 2024-04-18 09:33:39 -07:00
Drew Weymouth 5f308975d0 Update README.md features 2024-04-17 09:28:30 -07:00
Drew Weymouth f5ec18562d prepare for 0.10.0 release 2024-04-17 08:43:32 -07:00
Drew Weymouth 547799b483 Merge pull request #367 from dweymouth/feature/savequeuetoserver
Add ability to save and load play queue from Subsonic servers
2024-04-17 07:52:30 -07:00
Drew Weymouth f1aee40b05 pull in queue parsing fix 2024-04-16 19:37:35 -07:00
Drew Weymouth 63b0ab7374 add settings dialog radio for saving queue locally or to server 2024-04-16 18:13:22 -07:00
Drew Weymouth 8eeb2aa53a add config setting for save queue to server 2024-04-16 17:26:46 -07:00
Drew Weymouth 4d6626b7f2 add restoring of play queue from server 2024-04-16 17:26:46 -07:00
Drew Weymouth 98a140791b beginning of work to save queue to server 2024-04-16 17:26:46 -07:00
Drew Weymouth e99c867a39 Merge pull request #366 from adamantike/feat/add-sorting-options-for-artists
feat: Add sorting options for Artists
2024-04-14 10:20:36 -07:00
Drew Weymouth 36555fe64f remove now-unneeded time import 2024-04-14 10:11:23 -07:00
Drew Weymouth 4aa90187fe just use rand.Shuffle 2024-04-14 10:08:14 -07:00
Michael Manganiello 14bfaac7a2 feat: Add sorting options for Artists
Include both `Album Count` and `Random` sortings for the Artists page.

This change also fixes the Artist search feature in Jellyfin, which was
broken because of an open issue on Jellyfin [1]. The current workaround
is to do the filtering locally after receiving all results from Jellyfin
API.

Also, as the Jellyfin API doesn't include a sorting option for
`AlbumCount`, we need to disable pagination when that option is
selected, to receive all artists, and run the sorting locally.

[1] Related issue: https://github.com/jellyfin/jellyfin/issues/8222
2024-04-13 21:04:51 -03:00
Michael Manganiello 1e05d88a8d misc: Move Jellyfin Artist iterator to separate file 2024-04-13 20:17:38 -03:00
Drew Weymouth 975f64d730 increase sleep before seeking when restoring play queue 2024-04-13 11:41:52 -07:00
Drew Weymouth c0d0075bca update Fyne fork to pull in RichText memory leak fix 2024-04-13 08:45:37 -07:00
Drew Weymouth 227fb1d0ac add Play next option to album page menu 2024-04-13 08:19:33 -07:00
Drew Weymouth 0c7c1f10ab add new icon for Play Next menu item 2024-04-13 08:05:42 -07:00
Drew Weymouth 4df3a0ce8b Merge pull request #357 from tyrossel/play-next
feat: add "Play next" MenuItem
2024-04-11 16:23:11 -05:00
Tanguy Rossel 63bdfb5f87 WIP: feat: add "Play next" MenuItem 2024-04-04 08:39:14 +02:00
Drew Weymouth 914636e91f remove SupportsSongRadio infra since all mediaproviders support it now 2024-03-31 09:28:50 -07:00
Drew Weymouth 469369081f use Fyne 2.5 ColumnCount() API for GridWrap 2024-03-31 09:28:30 -07:00
Drew Weymouth d5f0971aa2 Closes #351: show reissue year in album page header 2024-03-31 08:26:54 -07:00
Drew Weymouth 0c03ac87a1 Merge pull request #355 from adamantike/misc/migrate-artists-page-to-gridview
misc: Migrate Artists page to GridView
2024-03-31 08:06:07 -07:00
Drew Weymouth 0260e988f6 Merge pull request #352 from natilou/similar-songs
feat: Add Song radio option in tracklist.
2024-03-30 09:56:45 -07:00
Michael Manganiello 66658b1401 misc: Migrate Artists page to GridView
Remove custom page implementation for Artists, and instead rely on the
generic `GridView` approach. This also simplifies adding new
sorting/filtering options as next improvements.

The new `ArtistFilter` is a dummy implementation without any real
filters at the moment.

Also, the `go-jellyfin` upgrade is needed to correctly display the album
count for each artist.
2024-03-30 12:42:48 -03:00
natilou 0bd0ea8919 adding get son radio support to Jellyfin server 2024-03-30 12:31:14 -03:00
natilou c1bf789432 fix fmt 2024-03-30 12:26:42 -03:00
natilou 298f4f6602 feat: Add Song radio option in tracklist.
At this moment this feature is only available on the Subsonic media provider. Using a
Jellyfin server the "Play song radio" option will be disabled.
2024-03-30 12:26:42 -03:00
Drew Weymouth b7e7e959ff Merge pull request #354 from natilou/update-go-jellyfin
chore: upgrade go-jellyfin library
2024-03-30 08:08:29 -07:00
natilou 934302131e chore: upgrade go-jellyfin library 2024-03-29 14:05:59 -03:00
Drew Weymouth ec085cf22e Fix #350: add option to shuffle artist's discography by albums of tracks 2024-03-24 10:13:32 -07:00
Drew Weymouth 2afc5e3975 disable album hyperlink in tracklist if albumID is empty 2024-03-24 09:53:06 -07:00
Drew Weymouth e76ba30f34 Merge pull request #347 from adamantike/misc/decouple-gridview-from-albums
misc: Decouple Grid view from Albums
2024-03-19 13:02:13 -07:00
Drew Weymouth 1c34d4c30c Merge pull request #349 from adamantike/misc/add-FilterMap-util
misc: Add FilterMapSlice util
2024-03-19 05:52:41 -07:00
Drew Weymouth 668f2f4807 Merge pull request #348 from adamantike/fix/avoid-contains-within-tight-loops
fix: Avoid slices.Contains within tight loops
2024-03-19 05:50:20 -07:00
Michael Manganiello 0c17ac3f8d misc: Add FilterMapSlice util
For the scenarios where both `Filter` and `Map` are being applied,
having this util should be faster, as it avoids the creation of an extra
slice during the intermediate step.
2024-03-17 13:44:17 -03:00
Michael Manganiello 80d7cf0b65 fix: Avoid slices.Contains within tight loops
Having a `slices.Contains` check within a `for` loop has a complexity of
`O(n*m)`, with a worst case scenario of `O(n^2)` for when both
collections have the same size.

This is because `slices.Contains` internally runs just a regular loop,
checking for equality element by element.

Instead, this diff changes every occurence of this pattern to converting
the collection we compare against to a set, and then running a faster
lookup against it.
2024-03-17 13:21:51 -03:00
Michael Manganiello b8cd79e6de fix: Add cloning logic to filters, make providers not update original filter 2024-03-17 00:56:49 -03:00
Drew Weymouth 3d61659d07 Fix #128: support mouse back/forward using custom added Fyne API 2024-03-13 09:07:52 -07:00
Michael Manganiello ab2ac363b0 fix: Disable genre filter only on Genre page 2024-03-11 23:59:53 -03:00
Drew Weymouth 9f7dadf186 Fix #346: pull in list.ScrollToOffset fix upstream 2024-03-11 18:51:06 -07:00