Commit Graph
419 Commits
Author SHA1 Message Date
Drew Weymouth 9b2fee47f1 refactor: shared base impl between albums and genre pages 2023-08-07 17:28:24 -07:00
Drew Weymouth 64ec698202 few cleanups around handling track change callback 2023-08-04 23:39:14 -04:00
Drew Weymouth 5c9d338b62 prevent multiple popup covers on album page if thumbnail clicked twice while loading 2023-08-04 10:59:19 -04:00
Drew Weymouth a2a56b3d8c ctrl+F to focus search bar on Artists page 2023-08-02 16:07:32 -06:00
Drew Weymouth 1c27a267b9 add Cmd+, shortcut for settings dialog on Mac 2023-08-02 15:58:30 -06:00
Drew Weymouth cf09912474 fix bug where album card on artist page would occasionally show artist name instead of year 2023-08-02 15:32:30 -06:00
Drew Weymouth a53a270730 limit concurrent image fetches from server 2023-08-01 17:21:38 -07:00
Drew Weymouth bd15866e02 Fix #223: open Settings dialog to last active tab 2023-07-19 14:58:27 -07: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 abb7dc0dde Merge pull request #219 from dweymouth/feature/mpris
Add MPRIS integration
2023-07-14 16:59:35 -07:00
Drew Weymouth 4febad12b7 fix regression with shuffle context menu on gridview 2023-07-14 16:54:53 -07:00
Drew Weymouth 9004e002f2 fix loopmode crash regression 2023-07-13 18:43:18 -07:00
Drew Weymouth e754b40a09 implement MPRIS SetVolume 2023-07-13 14:41:11 -07:00
Drew Weymouth a12b6dd276 expose repeat mode through MPRIS 2023-07-13 13:12:57 -07:00
Drew Weymouth 2239023e0f move grid view context menu to GridView instead of GridViewItem for reuse 2023-07-12 17:18:54 -07:00
Drew Weymouth b433c4f34c Merge pull request #217 from dweymouth/perf/reuse-widgets
Reuse complex widgets across pages to reduce memory spikes when browsing
2023-07-12 17:01:07 -07:00
Drew Weymouth 5d09a5f8f3 avoid unnecessary refreshes when mousing over GridView covers 2023-07-12 14:39:22 -07:00
Drew Weymouth caad7c7a27 use GridView widgets from pool in favorites page 2023-07-11 16:58:47 -07:00
Drew Weymouth 8ac7b1935c reuse album grid on favorites page for searching 2023-07-11 16:50:16 -07:00
Drew Weymouth 2df0514468 add cleanup task to widget pool 2023-07-11 16:38:50 -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 203070328c reuse grid view across several pages 2023-07-09 14:14:23 -07:00
Drew Weymouth be41bdc72c reuse grid for searching in genre page 2023-07-09 13:18:05 -07:00
Drew Weymouth 1c771b0832 reuse grid view for searching on albums page 2023-07-08 15:18:37 -07:00
Drew Weymouth 83b6d48560 widgetPool - switch from map to slice 2023-07-08 14:02:15 -07:00
Drew Weymouth 673f86f792 reuse hyperlinks in Similar Artists list 2023-07-08 13:44:55 -07:00
Drew Weymouth 5622554842 move gridview mutex out of state 2023-07-08 11:58:22 -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
Michael Manganiello a8d1380b48 Change playing icon color for current track
Make the Play icon easier to spot within the playing queue, by using the
primary color for the current theme.

Fixes #184
2023-07-02 20:45:06 -07:00
Michael Manganiello a4f4151ebd Apply recommended fix 2023-07-02 22:06:23 -03:00
Michael Manganiello 0aa3fbbe1b Add MinSize method to TappableImage
This is being added, because testing the latest `develop` version for
`fyne` fails with the following error:

```
ui/widgets/imageplaceholder.go:48:3: cannot use i.imageDisp (variable of type *TappableImage) as fyne.CanvasObject value in argument to container.NewMax: *TappableImage does not implement fyne.CanvasObject (missing method MinSize)
ui/widgets/nowplayingcard.go:51:33: cannot use n.cover (variable of type *TappableImage) as fyne.CanvasObject value in argument to container.NewBorder: *TappableImage does not implement fyne.CanvasObject (missing method MinSize)
ui/widgets/tappablewrappers.go:64:21: cannot use t (variable of type *TappableImage) as fyne.Widget value in argument to t.ExtendBaseWidget: *TappableImage does not implement fyne.Widget (missing method MinSize)
```
2023-07-02 22:05:22 -03:00
natilou 9241601737 removing Resize line and wrapping the VBox in another container with layouts.MaxPadLayout 2023-06-27 09:48:36 -03:00
natilou 681fa06255 changing AlbumInfo attributes name, using the same names as subsonic API. Checking if lastFm and musicBrainzID are not empty strings. Saving the musicbrainz release url in constant. Using 'Show Info...' in meatball menu. 2023-06-27 09:48:36 -03:00
natilou f26e9dbcbf Add UI for viewing the album info returned by Subsonic getAlbumInfo API
- Adding "Get Info" in album page's "meatball" menu. When the option is clicked a pop up appears with
the album information and links to Last.fm and MusicBrainz.

Screenshot:

Fixes #105
2023-06-27 09:48:36 -03:00
Drew Weymouth a537e7c157 Merge pull request #207 from dweymouth/feature/equalizer
Add 15 band graphic equalizer in Settings dialog
2023-06-24 13:28:41 -07:00
Drew Weymouth 2d38a0712c add preamp to EQ 2023-06-24 13:22:11 -07:00
Drew Weymouth 59be258e89 add equalizer UI in settings dialog 2023-06-24 10:47:45 -07:00
Drew Weymouth 9d7bfc719e Merge pull request #206 from natilou/download-notification
Add notification when a download is completed
2023-06-21 20:57:34 -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
Michael Manganiello a40ba5eb79 Update icons to the new Repeat ones 2023-06-20 23:51:04 -03:00
Michael Manganiello 196f7f2cff Add functionality to repeat current track
This new Loop mode keeps reproducing the current track, unless it is
changed using the player controls to go to the next/previous track.

As in other applications, this is set by using the "Repeat" button,
which now goes from "Off" -> "Repeat All" -> "Repeat One".
2023-06-20 23:23:38 -03:00
Drew Weymouth a7603fe668 use v2 of toml 2023-06-20 18:36:58 -07:00
Drew Weymouth ecffb81f72 make ListHeader color independently customizable 2023-06-20 18:33:41 -07:00
Drew Weymouth c6fc76172a fallback to default Supersonic theme before falling back to Fyne theme 2023-06-20 18:33:41 -07:00
Drew Weymouth 02cac23d9a hook custom themes up to Settings dialog 2023-06-20 18:33:37 -07:00
Drew Weymouth 4a399c51b7 move default theme to ThemeFile system 2023-06-20 18:32:41 -07:00
Drew Weymouth 604396ae17 begin work on custom theme support 2023-06-20 18:32:41 -07:00