update jukebox player to synchronous

This commit is contained in:
Drew Weymouth
2024-08-30 16:48:44 -07:00
parent 136bade8b4
commit 3bad04a74a
+24 -35
View File
@@ -26,11 +26,10 @@ type JukeboxPlayer struct {
} }
func (j *JukeboxPlayer) SetVolume(vol int) error { func (j *JukeboxPlayer) SetVolume(vol int) error {
go func() { if err := j.provider.JukeboxSetVolume(vol); err != nil {
if err := j.provider.JukeboxSetVolume(vol); err == nil { return err
j.volume = vol }
} j.volume = vol
}()
return nil return nil
} }
@@ -39,25 +38,21 @@ func (j *JukeboxPlayer) GetVolume() int {
} }
func (j *JukeboxPlayer) PlayTrackAt(idx int) error { func (j *JukeboxPlayer) PlayTrackAt(idx int) error {
go func() { if err := j.provider.JukeboxSeek(idx, 0); err != nil {
if err := j.provider.JukeboxSeek(idx, 0); err == nil { return err
j.curTrack = idx }
j.Continue() j.curTrack = idx
} return j.Continue()
}()
return nil
} }
func (j *JukeboxPlayer) Continue() error { func (j *JukeboxPlayer) Continue() error {
if j.state == playing { if j.state == playing {
return nil return nil
} }
go func() { if err := j.provider.JukeboxStart(); err != nil {
if err := j.provider.JukeboxStart(); err != nil { return err
return }
} j.state = playing
j.state = playing
}()
return nil return nil
} }
@@ -65,12 +60,10 @@ func (j *JukeboxPlayer) Pause() error {
if j.state != playing { if j.state != playing {
return nil return nil
} }
go func() { if err := j.provider.JukeboxStop(); err != nil {
if err := j.provider.JukeboxStop(); err != nil { return err
return }
} j.state = paused
j.state = paused
}()
return nil return nil
} }
@@ -78,12 +71,10 @@ func (j *JukeboxPlayer) Stop() error {
if j.state == stopped { if j.state == stopped {
return nil return nil
} }
go func() { if err := j.provider.JukeboxStop(); err != nil {
if err := j.provider.JukeboxStop(); err != nil { return err
return }
} j.state = stopped
j.state = stopped
}()
return nil return nil
} }
@@ -105,11 +96,9 @@ func (j *JukeboxPlayer) SeekNext() error {
func (j *JukeboxPlayer) SeekSeconds(secs float64) error { func (j *JukeboxPlayer) SeekSeconds(secs float64) error {
j.seeking = true j.seeking = true
go func() { err := j.provider.JukeboxSeek(j.curTrack, int(secs))
j.provider.JukeboxSeek(j.curTrack, int(secs)) j.seeking = false
j.seeking = false return err
}()
return nil
} }
func (j *JukeboxPlayer) IsSeeking() bool { func (j *JukeboxPlayer) IsSeeking() bool {