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
Drew Weymouth
55f9461410
Refactor pt. 1: move MPV player to own package and extract some types
2023-12-17 13:50:30 -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
91c6addd89
use plain label for Now Playing status line - we weren't doing any formatting
2023-11-05 09:22:51 -08:00
Drew Weymouth
64ec698202
few cleanups around handling track change callback
2023-08-04 23:39:14 -04:00
Drew Weymouth
f75a5e27a5
clear tracks from tracklists before releasing to widget pool
2023-07-10 13:51:09 -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
Drew Weymouth
8bd5ca3894
avoid unnecessary status line refreshes
2023-06-05 09:08:02 -07:00
Drew Weymouth
fedb9fd70d
add status line with media info to bottom of now playing page
2023-06-05 08:55:35 -07:00
Drew Weymouth
b64dcdcc0b
fix tracklist selection being maintained when sorting
2023-06-02 17:43:22 -07:00
Drew Weymouth
1f3559de43
add tracklist sorting logic
2023-05-23 11:10:43 -07:00
Drew Weymouth
f926ed3fb9
fix some bugs and restructure a bit more
2023-05-15 17:05:18 -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
053474f669
make track title in bottom panel link to Now Playing page
2023-04-30 10:17:34 -07:00
Drew Weymouth
1171916449
persist tracklist column visibility change immediately
2023-04-21 19:13:48 -07:00
Drew Weymouth
a8ea12feaf
fix hiding of popups on escape
2023-03-03 20:51:04 -08:00
Drew Weymouth
d01ac697bd
make artist and album hyperlinks in tracklist; refactor navigation to the controller package
2023-02-23 17:23:14 -08:00
Drew Weymouth
d25baa9869
ensure play queue track state is updated on favorite/unfavorite and scrobbles
2023-02-22 18:42:16 -08:00
Drew Weymouth
d9ec269191
Revert "refactor play count update to be cleaner, code-wise"
...
This reverts commit cd52a893d4 , which introduced a regression.
Pages with a tracklist may not have the same in-memory model of the track,
so it is necessary to directly inform them of play count updates.
2023-02-21 17:43:06 -08:00
Drew Weymouth
cd52a893d4
refactor play count update to be cleaner, code-wise
2023-02-20 19:24:47 -08:00
Drew Weymouth
64bdca7caf
persist tracklist columns setting in Playlist and Now Playing pages
2023-02-19 09:03:13 -08:00
Drew Weymouth
85e79921da
persist album page tracklist column visibility preference
2023-02-18 21:04:56 -08:00