Commit Graph
78 Commits
Author SHA1 Message Date
Drew Weymouth d48337c83b and some more 2024-07-21 11:13:27 -07:00
Drew Weymouth 48db088af7 more translation prep 2024-07-21 11:10:01 -07:00
Drew Weymouth 3f30448383 Fix #421: properly handle reordering and deleting repeat tracks in queue 2024-07-13 10:53:57 -07:00
Drew Weymouth 69a1900cb5 hook up keyboard scrolling to Now Playing page tracklists 2024-07-13 09:10:13 -07:00
Drew Weymouth 62e15c324d if error loading cover art, don't keep wrong cover art in Now Playing page 2024-06-28 17:23:45 -07:00
Drew Weymouth 67ca7b3ca4 Merge branch 'main' into drag-and-drop-reorder 2024-06-22 17:12:26 -07:00
Drew Weymouth 4545839e92 enable drag and drop reordering 2024-06-22 17:10:26 -07:00
Drew Weymouth 96cbbf0e15 fix double-click queuing action in related tracklist 2024-06-20 08:11:10 -07:00
Drew Weymouth 169b914abf Better stringification of play times longer than 1 hr 2024-06-13 18:28:38 -07:00
Drew Weymouth e3dc2e3079 Fix #397: use different context menu for Play Queue and Related lists 2024-06-08 11:25:45 -07:00
Drew Weymouth dbb1602a9f make sure to update lyric position when restoring NowPlaying page 2024-06-03 19:27:09 -07:00
Drew Weymouth 1777e2c0e1 use separate loading indicator for Lyrics and Related tabs 2024-06-02 15:43:16 -07:00
Drew Weymouth ef2e4c04e3 show home page url, hide rating/favorite widgets for radio 2024-06-02 09:24:37 -07:00
Drew Weymouth e180197852 fix some interface assertion and nil bugs, and album page not showing now playing 2024-06-01 12:28:48 -07:00
Drew Weymouth efcfe2a99f refactor: make ReorderItems generic 2024-06-01 10:42:31 -07:00
Drew Weymouth 82d4546096 refactor tracklist to use MediaItem, even if it only contains tracks 2024-06-01 10:15:18 -07:00
Drew Weymouth 0a902aef9f refactoring continued - compiles now 2024-05-31 16:37:14 -07:00
Drew Weymouth f67a0c5fc1 in progress MediaItem refactor - does not build 2024-05-31 09:35:46 -07:00
Drew Weymouth b66baf5e77 slightly lengthen animation 2024-05-29 07:27:26 -07:00
Drew Weymouth 906c951cc9 use dynamic gradient as background of Now Playing page 2024-05-29 07:22:08 -07:00
Drew Weymouth 0a818ae7b5 set state properly when reusing NowPlayingPage in constructor 2024-05-27 08:23:28 -07:00
Drew Weymouth 874c13b8d5 don't clear state when saving NowPlayingPage to pool for faster reloading from history 2024-05-26 13:39:43 -07:00
Drew Weymouth edb6654bee use pre-existing page from widget pool in constructor if possible 2024-05-26 12:28:33 -07:00
Drew Weymouth db38e1a3f4 use empty lyric to clear widget during fetch 2024-05-26 07:38:44 -07:00
Drew Weymouth 17ede7a909 add loading dots for lyrics and related tabs 2024-05-25 19:09:41 -07:00
Drew Weymouth 3f8a2e1d1e add LrcLib as a fallback lyric provider 2024-05-25 16:56:41 -07:00
Drew Weymouth e55a13fbdd add Related tab to Now Playing page 2024-05-25 11:57:17 -07:00
Drew Weymouth 8caab9bd43 make sure to set lyrics nil when stopping 2024-05-25 10:48:20 -07:00
Drew Weymouth 4ba358ad23 only update lyrics when visible 2024-05-25 10:17:47 -07:00
Drew Weymouth e7b2b821f3 hook up seek for synced lyrics 2024-05-16 19:22:08 -07:00
Drew Weymouth e8d751bc2a first draft of synced lyrics integration, missing seek support 2024-05-16 18:32:13 -07:00
Drew Weymouth 3045fcf94e Fix refreshing of lyrics viewer on song change 2024-04-19 08:12:48 -07: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 739b5eb64d save last active tab in Now Playing page 2024-03-06 19:48:55 -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
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
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 a7309b08ca add keyboard scrolling to list views 2024-02-18 13:26:15 -08:00
Drew Weymouth e9d462e655 move player package into backend 2024-01-08 18:53:13 -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 bcf95ba26c don't assume MPV player in now playing page 2023-12-19 08:23:12 -08:00