add autoplay UI toggle

This commit is contained in:
Drew Weymouth
2025-01-06 18:34:35 -08:00
parent 834d024735
commit 966e792f6f
10 changed files with 51 additions and 4 deletions
+12 -1
View File
@@ -42,7 +42,7 @@ func NewPlaybackManager(
engine: e,
cmdQueue: q,
cfg: appCfg,
autoplay: true, // TODO
autoplay: playbackCfg.Autoplay,
}
pm.addOnTrackChangeHook()
go pm.runCmdQueue(ctx)
@@ -364,6 +364,10 @@ func (p *PlaybackManager) GetLoopMode() LoopMode {
return p.engine.loopMode
}
func (p *PlaybackManager) IsAutoplay() bool {
return p.autoplay
}
func (p *PlaybackManager) PlayerStatus() player.Status {
return p.engine.PlayerStatus()
}
@@ -372,6 +376,13 @@ func (p *PlaybackManager) SetVolume(vol int) {
p.cmdQueue.SetVolume(vol)
}
func (p *PlaybackManager) SetAutoplay(autoplay bool) {
p.autoplay = autoplay
if autoplay && p.NowPlayingIndex() == len(p.engine.playQueue)-1 {
p.enqueueAutoplayTracks()
}
}
func (p *PlaybackManager) Volume() int {
return p.engine.CurrentPlayer().GetVolume()
}