Drew Weymouth
1d342bf413
ensure clicking anywhere outside tracklists can unselect all
2024-12-15 15:52:21 -08:00
Drew Weymouth
72de61568a
Fix #477 : scroll to currently playing track when loading Now Playing page
2024-09-07 08:17:19 -07:00
Drew Weymouth
6f74b5a2b8
Add pop up plqy queue button to lower right
2024-07-24 17:36:47 -07:00
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