From 0e49d4bd587cfa39342644be96aae8a19b1fadf0 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Fri, 24 Jul 2026 16:16:50 -0700 Subject: [PATCH] add missing MPRIS shuffle handlers --- backend/mpris.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/backend/mpris.go b/backend/mpris.go index b910601..61784dd 100644 --- a/backend/mpris.go +++ b/backend/mpris.go @@ -22,6 +22,7 @@ var ( _ types.OrgMprisMediaPlayer2Adapter = (*MPRISHandler)(nil) _ types.OrgMprisMediaPlayer2PlayerAdapter = (*MPRISHandler)(nil) _ types.OrgMprisMediaPlayer2PlayerAdapterLoopStatus = (*MPRISHandler)(nil) + _ types.OrgMprisMediaPlayer2PlayerAdapterShuffle = (*MPRISHandler)(nil) ) var errNotSupported = errors.New("not supported") @@ -226,6 +227,8 @@ func (m *MPRISHandler) PlaybackStatus() (types.PlaybackStatus, error) { return "", errors.New("unknown playback status") } +// OrgMprisMediaPlayer2PlayerAdapterLoopStatus implementation + func (m *MPRISHandler) LoopStatus() (types.LoopStatus, error) { switch m.pm.GetLoopMode() { case LoopAll: @@ -252,6 +255,17 @@ func (m *MPRISHandler) SetLoopStatus(status types.LoopStatus) error { return nil } +// OrgMprisMediaPlayer2PlayerAdapterShuffle implementation + +func (m *MPRISHandler) Shuffle() (bool, error) { + return m.pm.IsShuffle(), nil +} + +func (m *MPRISHandler) SetShuffle(shuffle bool) error { + m.pm.SetShuffle(shuffle) + return nil +} + func (m *MPRISHandler) Rate() (float64, error) { return 1, nil }