add back logging of playback errors

This commit is contained in:
Drew Weymouth
2025-01-04 17:08:39 -08:00
parent 08fae68dd6
commit 0b73f47001
+17 -9
View File
@@ -2,6 +2,7 @@ package backend
import ( import (
"context" "context"
"fmt"
"log" "log"
"math/rand" "math/rand"
"time" "time"
@@ -419,6 +420,11 @@ func (p *PlaybackManager) PlayPause() {
} }
func (p *PlaybackManager) runCmdQueue(ctx context.Context) { func (p *PlaybackManager) runCmdQueue(ctx context.Context) {
logIfErr := func(action string, err error) {
if err != nil {
log.Println("Playback error (%s): %v", action, err)
}
}
for { for {
select { select {
case <-ctx.Done(): case <-ctx.Done():
@@ -426,33 +432,35 @@ func (p *PlaybackManager) runCmdQueue(ctx context.Context) {
case c := <-p.cmdQueue.C(): case c := <-p.cmdQueue.C():
switch c.Type { switch c.Type {
case cmdStop: case cmdStop:
p.engine.Stop() logIfErr("Stop", p.engine.Stop())
case cmdContinue: case cmdContinue:
p.engine.Continue() logIfErr("Continue", p.engine.Continue())
case cmdPause: case cmdPause:
p.engine.Pause() logIfErr("Pause", p.engine.Pause())
case cmdPlayTrackAt: case cmdPlayTrackAt:
p.engine.PlayTrackAt(c.Arg.(int)) logIfErr("PlayTrackAt", p.engine.PlayTrackAt(c.Arg.(int)))
case cmdSeekSeconds: case cmdSeekSeconds:
p.engine.SeekSeconds(c.Arg.(float64)) logIfErr("SeekSeconds", p.engine.SeekSeconds(c.Arg.(float64)))
case cmdSeekFwdBackN: case cmdSeekFwdBackN:
p.engine.SeekFwdBackN(c.Arg.(int)) action := fmt.Sprintf("SeekFwdBack[%d]", c.Arg.(int))
logIfErr(action, p.engine.SeekFwdBackN(c.Arg.(int)))
case cmdVolume: case cmdVolume:
p.engine.SetVolume(c.Arg.(int)) logIfErr("Volume", p.engine.SetVolume(c.Arg.(int)))
case cmdLoopMode: case cmdLoopMode:
p.engine.SetLoopMode(c.Arg.(LoopMode)) p.engine.SetLoopMode(c.Arg.(LoopMode))
case cmdStopAndClearPlayQueue: case cmdStopAndClearPlayQueue:
p.engine.StopAndClearPlayQueue() p.engine.StopAndClearPlayQueue()
case cmdUpdatePlayQueue: case cmdUpdatePlayQueue:
p.engine.UpdatePlayQueue(c.Arg.([]mediaprovider.MediaItem)) logIfErr("UpdatePlayQueue", p.engine.UpdatePlayQueue(c.Arg.([]mediaprovider.MediaItem)))
case cmdRemoveTracksFromQueue: case cmdRemoveTracksFromQueue:
p.engine.RemoveTracksFromQueue(c.Arg.([]int)) p.engine.RemoveTracksFromQueue(c.Arg.([]int))
case cmdLoadItems: case cmdLoadItems:
p.engine.LoadItems( err := p.engine.LoadItems(
c.Arg.([]mediaprovider.MediaItem), c.Arg.([]mediaprovider.MediaItem),
c.Arg2.(InsertQueueMode), c.Arg2.(InsertQueueMode),
c.Arg3.(bool), c.Arg3.(bool),
) )
logIfErr("LoadItems", err)
case cmdLoadRadioStation: case cmdLoadRadioStation:
p.engine.LoadRadioStation( p.engine.LoadRadioStation(
c.Arg.(*mediaprovider.RadioStation), c.Arg.(*mediaprovider.RadioStation),