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
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
Michael Manganiello
a220243279
misc: Decouple Grid view from Albums
...
The Grid view and related components were highly coupled to Albums,
including the filter button that is currently used only for album
filtering.
As part of the migration of Artists to Grid view, this is the smallest
possible change to convert many of the existing code to
generics/interfaces that will allow different media to be displayed and
filtered by using Grid views.
The main changes in this diff are:
* Introduction of generics for Media types (`M`) and Filter options
(`F`), which can be later extended to other entities besides Albums.
* Complete decoupling of `GridViewPage` and related components from
Albums (making these pages also generic).
* Refactoring of Subsonic/Jellyfin specific code to understand these new
generics when dealing with filtering logic.
2024-03-11 00:44:20 -03:00
Drew Weymouth
3b5e5171b5
Fix #345 : make sure to truncate playlist title, description, owner
2024-03-08 08:05:18 -08:00
Drew Weymouth
739b5eb64d
save last active tab in Now Playing page
2024-03-06 19:48:55 -08:00
Drew Weymouth
fcefe118fe
Use new non-expiring Discord link
2024-03-06 17:35:20 -08:00
Drew Weymouth
4bf2a680ce
link custom themes page in feature list
2024-03-06 10:21:40 -08:00
Drew Weymouth
55d7055889
Merge pull request #342 from dweymouth/feature/lyrics
...
Add lyrics viewer
2024-03-06 10:08:37 -08:00
Drew Weymouth
1e377619b5
Merge branch 'main' into feature/lyrics
2024-03-06 09:46:44 -08:00
Drew Weymouth
129afcf4a8
update lyrics text style
2024-03-06 09:44:52 -08:00
Drew Weymouth
b3bec2694b
fetch lyrics async
2024-03-06 08:13:02 -08:00
Drew Weymouth
3fa52c73df
add unsynced lyrics view (not tested yet)
2024-03-06 08:05:53 -08:00
Drew Weymouth
790fe8ea1e
Merge pull request #339 from adamantike/misc/implement-iterator-approach-for-artists
...
misc: Implement Iterator approach for artists
2024-03-06 07:26:00 -08:00
Michael Manganiello
d917efe801
fix: Handle sorting for accented strings
2024-03-06 00:55:46 -03:00
Michael Manganiello
2cb002dde0
misc: Implement Iterator approach for artists
...
First step towards improving sorting for Artists. Use the same iterator
approach as albums and tracks.
2024-03-06 00:54:16 -03:00
Drew Weymouth
ea1d78ed58
add LyricsProvider / GetLyrics
2024-03-05 08:53:57 -08:00
Drew Weymouth
a3449d22ff
update go-subsonic
2024-03-05 08:18:19 -08:00
Drew Weymouth
50980e7d56
Merge pull request #340 from adamantike/misc/upgrade-go-1.21
...
misc: Upgrade Go to v1.21
2024-03-05 07:46:19 -08:00
Michael Manganiello
801967a530
misc: Upgrade Go to v1.21
...
Upgrade to 1.21 as 1.20 is now unmaintained.
Most changes are related to the new `slices` package from standard
library, which can replace some existing custom functions.
2024-03-05 09:49:10 -03:00
Drew Weymouth
ea1b2f3284
Merge pull request #336 from adamantike/feat/add-share-option
...
feat: Add Share option for artists, albums, and tracks
2024-03-03 16:39:18 -08:00
Michael Manganiello
a6fefc992d
Refactor and temporarily disable sharing artists
2024-03-03 21:01:48 -03:00
Michael Manganiello
d9bbe03e81
misc: Notify user of failed sharing using a dialog
2024-03-03 20:45:00 -03:00
Michael Manganiello
9d3725cb51
feat: Add Share option for artists, albums, and tracks
...
This feature is only available on the Subsonic media provider. Using a
Jellyfin server will make Supersonic hide the "Share" option.
* Artists: Option available in grid view and in Artist view.
* Albums: Option available in grid view and in Album view.
* Tracks: Option available in tracklist, when a single track is selected.
2024-03-03 20:44:58 -03:00
Drew Weymouth
ee0e18e118
Merge pull request #338 from dweymouth/feature/fullscreenpage
...
Add new Now Playing page with large cover image and new queue list
2024-03-03 14:12:32 -08:00
Drew Weymouth
cd31274a81
remove defunct NowPlayingPageConfig
2024-03-03 14:06:19 -08:00
Drew Weymouth
44abf3c434
add select all support to new NowPlaying page
2024-03-03 13:58:15 -08:00
Drew Weymouth
e9142f9ebf
add stub lyrics viewer component
2024-03-03 13:51:54 -08:00
Drew Weymouth
eaef666b0c
make sure to update displayed rating/favorite when changing from list
2024-03-03 13:48:45 -08:00
Drew Weymouth
67c5edbbde
rm irrelevant comment
2024-03-03 11:50:07 -08:00
Drew Weymouth
151dbb9edf
rename file
2024-03-03 11:48:27 -08:00
Drew Weymouth
a86533b424
connect up PlayQueueList actions and remove old NowPlayingPage
2024-03-03 11:47:57 -08:00
Drew Weymouth
d5aefad7c3
add context menu to PlayQueueList
2024-03-03 11:33:44 -08:00
Drew Weymouth
aa58a50804
add status line to fullscreen page
2024-03-03 11:00:16 -08:00
Drew Weymouth
d8f2172341
use fastest image scale mode for now playing cards
2024-03-03 10:42:09 -08:00
Drew Weymouth
9b72ff9d17
add OnPlayQueueChange hook
2024-03-03 10:38:12 -08:00