update jukebox player to synchronous

This commit is contained in:
Drew Weymouth
2024-08-30 16:48:44 -07:00
parent 136bade8b4
commit 3bad04a74a
+12 -23
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 nil return j.Continue()
} }
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 return err
} }
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 return err
} }
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 return err
} }
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 {