Commit Graph
80 Commits
Author SHA1 Message Date
Drew Weymouth 819f42dac0 onboard to new custom padded box layouts 2024-05-24 16:57:49 -07:00
Drew Weymouth 883c1f738d rebase to Fyne 2.5 prerelease and onboard to new CustomPaddedLayout 2024-05-24 16:48:53 -07:00
Drew Weymouth 227fb1d0ac add Play next option to album page menu 2024-04-13 08:19:33 -07: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
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
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
Drew Weymouth 3b5e5171b5 Fix #345: make sure to truncate playlist title, description, owner 2024-03-08 08:05:18 -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
Michael Manganiello a6fefc992d Refactor and temporarily disable sharing artists 2024-03-03 21:01:48 -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 a7309b08ca add keyboard scrolling to list views 2024-02-18 13:26:15 -08:00
Drew Weymouth 6ac9337625 remove some outdated todo comments 2024-02-14 15:11:14 -08:00
Drew Weymouth e4342ac135 Add icons to menu items 2024-01-06 16:24:23 -08:00
Drew Weymouth 9c2f72d9f2 Fix #33: allow reordering of play queue 2024-01-06 14:22:18 -08:00
Drew Weymouth b3a5fee264 replace shuffle icon 2024-01-06 11:44:25 -08:00
Drew Weymouth 80a3104e79 all playlist functionality works now 2023-11-14 09:05:02 -08:00
Drew Weymouth 7d3e942e3f playlist updates 2023-11-14 09:05:02 -08:00
Drew Weymouth e261eab4f3 Jellyfin does not support 5-star ratings - make it disableable 2023-11-14 09:05:02 -08:00
Drew Weymouth c9b224277e Add rounded rectangle background to Album, Artist, Playlist page headers 2023-11-06 17:54:40 -08:00
Drew Weymouth 1a8196d471 make tracklist.SetTracks refresh to mitigate risk of non-refresh bugs 2023-11-05 08:54:59 -08:00
Drew Weymouth 27fab7ed26 switch to ellipsis truncation everywhere 2023-11-03 23:26:26 -07:00
Drew Weymouth 64ec698202 few cleanups around handling track change callback 2023-08-04 23:39:14 -04:00
Drew Weymouth 5bb65ee6aa Fixes #222: ensure pooled PageHeaders don't hold onto old state in closures 2023-07-17 17:07:13 -07:00
Drew Weymouth f75a5e27a5 clear tracks from tracklists before releasing to widget pool 2023-07-10 13:51:09 -07:00
Drew Weymouth a86a81f1e6 fix bug with not resetting page reference when reusing headers 2023-07-09 16:52:08 -07:00
Drew Weymouth d76fc41230 more pooling of widgets, rename and rework a few things 2023-07-07 17:11:03 -07:00
Drew Weymouth c6c33ecfed begin reuse of widgets across pages 2023-07-07 12:54:20 -07:00
natilou 6318ce33e4 getting the album name from titleLabel and adding ellipsis after 'Download' option 2023-06-21 23:35:56 -03:00
natilou d59ed11647 Add notification when a download is completed
- fyne notication looks for the app icon to display it in the notication, so I setted the icon  in `main.go`.
- deleting points after "Download" option in grid view that I mistakenly leave it in a previous PR.
- adding the new paremeter `downloadName`

Screenshot:

Fixes #202
2023-06-21 14:17:15 -03:00
natilou b4ab95f5b4 Ability to download album and playlist
Add in the "meatball menu" of the Album and Playlist pages the option to
download the tracks of the corresponding album or playlist in a zip file.
When download is clicked, a dialog window appears allowing you to choose
the file name and where to save the file.
2023-06-17 02:18:08 -03:00
Drew Weymouth 17f9370e0a renumber correctly after removing tracks from playlist 2023-06-03 08:40:49 -07:00
Drew Weymouth b64dcdcc0b fix tracklist selection being maintained when sorting 2023-06-02 17:43:22 -07:00
Drew Weymouth 7a77a77569 Playlist page - show track's original position in playlist for # column 2023-05-24 14:43:44 -07:00
Drew Weymouth e95474d0d0 Merge branch 'main' into feature/sort-tracklist-cols 2023-05-24 09:18:59 -07:00
Drew Weymouth 572a2e511d reorder playlist tracks based on original sort and switch to unsorted view 2023-05-24 09:11:50 -07:00
Drew Weymouth de7a16639e switch GridView to icon placeholder 2023-05-23 17:35:26 -07:00
Drew Weymouth 84e1f01a68 add saving of tracklist sort in browsing history - but need to handle it Tracklist widget still 2023-05-23 11:10:43 -07:00
Drew Weymouth 1f3559de43 add tracklist sorting logic 2023-05-23 11:10:43 -07:00
Drew Weymouth fd106560d0 more refactoring - compiles now but not extensively tested 2023-05-14 20:50:06 -07:00
Drew Weymouth 2ef0282c0b update module import paths 2023-05-07 09:53:34 -07:00
Drew Weymouth 2d3fb4be3a Merge pull request #154 from dweymouth/feature/lighttheme
Add light theme
2023-05-03 17:49:42 -07:00
Drew Weymouth fd01e37260 add menu button to playlist page with add to queue, add to playlist actions 2023-05-02 18:09:56 -07:00
Drew Weymouth 6c81db4398 switch to simpler way of themeing PNG icons 2023-05-01 17:49:59 -07:00
Drew Weymouth cdac9ae66f update rest of icons to themed 2023-05-01 17:42:09 -07:00
Drew Weymouth ae1b767255 move playlist reorder options to submenu 2023-04-29 11:24:13 -07:00
Drew Weymouth cf4540eb32 refactor 1: renaming 2023-04-28 16:50:35 -07:00
Drew Weymouth 56b67097b9 "tracks" -> "track" for single-track albums and playlists 2023-04-25 17:08:51 -07:00
Drew Weymouth 1171916449 persist tracklist column visibility change immediately 2023-04-21 19:13:48 -07:00