hook up seek for synced lyrics

This commit is contained in:
Drew Weymouth
2024-05-16 19:22:08 -07:00
parent d156bf02e0
commit e7b2b821f3
6 changed files with 26 additions and 15 deletions
+3 -3
View File
@@ -46,7 +46,7 @@ type CanShowNowPlaying interface {
}
type CanShowPlayTime interface {
OnPlayTimeUpdate(curTime, totalTime float64)
OnPlayTimeUpdate(curTime, totalTime float64, seeked bool)
}
type CanShowPlayQueue interface {
@@ -222,12 +222,12 @@ func (b *BrowsingPane) onSongChange(song, lastScrobbledIfAny *mediaprovider.Trac
}
}
func (b *BrowsingPane) onPlayTimeUpdate(cur, total float64) {
func (b *BrowsingPane) onPlayTimeUpdate(cur, total float64, seeked bool) {
if b.curPage == nil {
return
}
if p, ok := b.curPage.(CanShowPlayTime); ok {
p.OnPlayTimeUpdate(cur, total)
p.OnPlayTimeUpdate(cur, total, seeked)
}
}
+6 -2
View File
@@ -241,9 +241,13 @@ func (s *nowPlayingPageState) Restore() Page {
var _ CanShowPlayTime = (*NowPlayingPage)(nil)
func (a *NowPlayingPage) OnPlayTimeUpdate(curTime, _ float64) {
func (a *NowPlayingPage) OnPlayTimeUpdate(curTime, _ float64, seeked bool) {
a.formatStatusLine()
a.lyricsViewer.UpdatePlayPos(curTime)
if seeked {
a.lyricsViewer.OnSeeked(curTime)
} else {
a.lyricsViewer.UpdatePlayPos(curTime)
}
}
var _ CanSelectAll = (*NowPlayingPage)(nil)