Fix #614: Update go-upnpcast for device discovery fix
This commit is contained in:
@@ -102,7 +102,6 @@ type playbackEngine struct {
|
|||||||
onPaused []func()
|
onPaused []func()
|
||||||
onStopped []func()
|
onStopped []func()
|
||||||
onPlaying []func()
|
onPlaying []func()
|
||||||
onPlayerChange []func()
|
|
||||||
onQueueChange []func()
|
onQueueChange []func()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,10 +170,6 @@ func (p *playbackEngine) unregisterPlayerCallbacks(pl player.BasePlayer) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *playbackEngine) SetPlayer(pl player.BasePlayer) error {
|
func (p *playbackEngine) SetPlayer(pl player.BasePlayer) error {
|
||||||
// even if we don't successfully change players,
|
|
||||||
// make sure UI updates if needed (eg enabling cast button)
|
|
||||||
defer p.invokeNoArgCallbacks(p.onPlayerChange)
|
|
||||||
|
|
||||||
needToUnpause := false
|
needToUnpause := false
|
||||||
|
|
||||||
stat := p.CurrentPlayer().GetStatus()
|
stat := p.CurrentPlayer().GetStatus()
|
||||||
@@ -209,7 +204,6 @@ func (p *playbackEngine) SetPlayer(pl player.BasePlayer) error {
|
|||||||
p.playTrackAt(p.nowPlayingIdx, p.pendingPlayerChangeStatus.TimePos)
|
p.playTrackAt(p.nowPlayingIdx, p.pendingPlayerChangeStatus.TimePos)
|
||||||
p.pendingPlayerChange = false
|
p.pendingPlayerChange = false
|
||||||
}
|
}
|
||||||
p.invokeNoArgCallbacks(p.onPlayerChange)
|
|
||||||
vol := pl.GetVolume()
|
vol := pl.GetVolume()
|
||||||
if oldVol != vol {
|
if oldVol != vol {
|
||||||
for _, cb := range p.onVolumeChange {
|
for _, cb := range p.onVolumeChange {
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ type PlaybackManager struct {
|
|||||||
currentRemotePlayer *RemotePlaybackDevice
|
currentRemotePlayer *RemotePlaybackDevice
|
||||||
|
|
||||||
onWaveformImgUpdate []func(*WaveformImage)
|
onWaveformImgUpdate []func(*WaveformImage)
|
||||||
|
onPlayerChange []func()
|
||||||
|
|
||||||
lastPlayTime float64
|
lastPlayTime float64
|
||||||
lastPlayingID string
|
lastPlayingID string
|
||||||
@@ -252,6 +253,14 @@ func (p *PlaybackManager) CurrentRemotePlayer() *RemotePlaybackDevice {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *PlaybackManager) SetRemotePlayer(rp *RemotePlaybackDevice) error {
|
func (p *PlaybackManager) SetRemotePlayer(rp *RemotePlaybackDevice) error {
|
||||||
|
// Even in case of failure, call onPlayerChange callbacks to update UI
|
||||||
|
// (such as enabling/disabling cast button)
|
||||||
|
defer func() {
|
||||||
|
for _, cb := range p.onPlayerChange {
|
||||||
|
cb()
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
p.cmdQueue.Clear()
|
p.cmdQueue.Clear()
|
||||||
if rp == nil {
|
if rp == nil {
|
||||||
if err := p.engine.SetPlayer(p.localPlayer); err != nil {
|
if err := p.engine.SetPlayer(p.localPlayer); err != nil {
|
||||||
@@ -278,7 +287,7 @@ func (p *PlaybackManager) CurrentPlayer() player.BasePlayer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *PlaybackManager) OnPlayerChange(cb func()) {
|
func (p *PlaybackManager) OnPlayerChange(cb func()) {
|
||||||
p.engine.onPlayerChange = append(p.engine.onPlayerChange, cb)
|
p.onPlayerChange = append(p.onPlayerChange, cb)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PlaybackManager) OnWaveformImgUpdate(cb func(*WaveformImage)) {
|
func (p *PlaybackManager) OnWaveformImgUpdate(cb func(*WaveformImage)) {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ require (
|
|||||||
github.com/supersonic-app/fyne-lyrics v0.0.0-20250614151306-b1880a70a410
|
github.com/supersonic-app/fyne-lyrics v0.0.0-20250614151306-b1880a70a410
|
||||||
github.com/supersonic-app/go-mpv v0.1.1-0.20250822102843-7a8cde5f5449
|
github.com/supersonic-app/go-mpv v0.1.1-0.20250822102843-7a8cde5f5449
|
||||||
github.com/supersonic-app/go-subsonic v0.0.0-20260125165421-1efaa048a150
|
github.com/supersonic-app/go-subsonic v0.0.0-20260125165421-1efaa048a150
|
||||||
github.com/supersonic-app/go-upnpcast v0.0.0-20251031171049-45a308877fe8
|
github.com/supersonic-app/go-upnpcast v0.1.0
|
||||||
github.com/zalando/go-keyring v0.2.6
|
github.com/zalando/go-keyring v0.2.6
|
||||||
golang.org/x/net v0.49.0
|
golang.org/x/net v0.49.0
|
||||||
golang.org/x/sys v0.40.0
|
golang.org/x/sys v0.40.0
|
||||||
|
|||||||
@@ -129,8 +129,8 @@ github.com/supersonic-app/go-mpv v0.1.1-0.20250822102843-7a8cde5f5449 h1:UHIPI43
|
|||||||
github.com/supersonic-app/go-mpv v0.1.1-0.20250822102843-7a8cde5f5449/go.mod h1:1bQz6kBQumJopXEbkiqoLxIXLy7F7yWFBvknvpAtIC0=
|
github.com/supersonic-app/go-mpv v0.1.1-0.20250822102843-7a8cde5f5449/go.mod h1:1bQz6kBQumJopXEbkiqoLxIXLy7F7yWFBvknvpAtIC0=
|
||||||
github.com/supersonic-app/go-subsonic v0.0.0-20260125165421-1efaa048a150 h1:Wh3EUdJI8bSr2nYtnkmG+bGNzEtGGSW3Rcg4eDM1a0M=
|
github.com/supersonic-app/go-subsonic v0.0.0-20260125165421-1efaa048a150 h1:Wh3EUdJI8bSr2nYtnkmG+bGNzEtGGSW3Rcg4eDM1a0M=
|
||||||
github.com/supersonic-app/go-subsonic v0.0.0-20260125165421-1efaa048a150/go.mod h1:ClhAgC2qobwH19D6kdwULLYSHlOmldDGkdu2G2Z0Ijo=
|
github.com/supersonic-app/go-subsonic v0.0.0-20260125165421-1efaa048a150/go.mod h1:ClhAgC2qobwH19D6kdwULLYSHlOmldDGkdu2G2Z0Ijo=
|
||||||
github.com/supersonic-app/go-upnpcast v0.0.0-20251031171049-45a308877fe8 h1:OcFDKpjAwnMHAThS25h1D7sRzKfTVwBhMb+7F9Bsh3E=
|
github.com/supersonic-app/go-upnpcast v0.1.0 h1:SL0WVgnqvAVaLT9MSRhSeVwF9pcUw1cgBITKVoWXN3g=
|
||||||
github.com/supersonic-app/go-upnpcast v0.0.0-20251031171049-45a308877fe8/go.mod h1:2yVB6GhgemDgqOaF80MT15eZaS+l4sscZRn/ArGQ5Bo=
|
github.com/supersonic-app/go-upnpcast v0.1.0/go.mod h1:o/QGDTK3qdaS3h9Bt8aH5ywgbWbrPVzPCHlZYFs0IHY=
|
||||||
github.com/yuin/goldmark v1.7.16 h1:n+CJdUxaFMiDUNnWC3dMWCIQJSkxH4uz3ZwQBkAlVNE=
|
github.com/yuin/goldmark v1.7.16 h1:n+CJdUxaFMiDUNnWC3dMWCIQJSkxH4uz3ZwQBkAlVNE=
|
||||||
github.com/yuin/goldmark v1.7.16/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=
|
github.com/yuin/goldmark v1.7.16/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=
|
||||||
github.com/zalando/go-keyring v0.2.6 h1:r7Yc3+H+Ux0+M72zacZoItR3UDxeWfKTcabvkI8ua9s=
|
github.com/zalando/go-keyring v0.2.6 h1:r7Yc3+H+Ux0+M72zacZoItR3UDxeWfKTcabvkI8ua9s=
|
||||||
|
|||||||
Reference in New Issue
Block a user