I have made the patch and pushed it to master. While doing this, I realised: 1. The GetAll method on the org.freedesktop.DBus.Properties interface does not report Position correctly (which is why I failed to notice the issue Sheng found) 2. The Seek and SetPosition methods are broken thanks to the issue I reported elsewhere with emms-seek-*.
I see how to fix both problems and will push solutions in the next few days. ---Fran On Wed, 18 Jan 2023 at 15:00, Fran Burstall (Gmail) <[email protected]> wrote: > Yup, will investigate (Next/Previous work for me on emacs 28.2). > > ---Fran > > On Wed, 18 Jan 2023 at 14:57, Yoni Rabkin <[email protected]> wrote: > >> >> Sheng Wang <[email protected]> writes: >> >> > Without the attached patch mpris integration doesn't work on my setup. >> >> Thank you for reporting this, and preparing a patch. >> >> > Actions like "Next" and "Previous" doesn't work, showing >> > "wrong-type-argument consp :int64" in minibuffer. >> > >> > Does this happen to you too? >> > >> > >> > >> > Tried on both Emacs 28 and the latest master branch, on nixos-unstable >> KDE 5.26.5. >> > dbus-daemon --version shows 1.14.4 >> > >> > Steps to reproduce: >> > >> > (toggle-debug-on-error) >> > (emms-mpris-enable) >> > >> > Debugger entered--Lisp error: (wrong-type-argument consp :int64) >> > dbus-message-internal(2 :session ":1.53" 16780 :variant :int64 0) >> > dbus-method-return-internal(:session ":1.53" 16780 :variant :int64 0) >> > apply(dbus-method-return-internal :session ":1.53" 16780 (:variant >> :int64 0)) >> > dbus-handle-event((dbus-event :session 1 16780 ":1.53" >> > "org.mpris.MediaPlayer2.emms" "/org/mpris/MediaPlayer2" >> > "org.freedesktop.DBus.Properties" "Get" >> > emms-mpris-get-property-handler (:string >> > "org.mpris.MediaPlayer2.Player") (:string "Position"))) >> > funcall-interactively(dbus-handle-event (dbus-event :session 1 16780 >> > ":1.53" "org.mpris.MediaPlayer2.emms" "/org/mpris/MediaPlayer2" >> > "org.freedesktop.DBus.Properties" "Get" >> > emms-mpris-get-property-handler (:string >> > "org.mpris.MediaPlayer2.Player") (:string "Position"))) >> > command-execute(dbus-handle-event nil [(dbus-event :session 1 16780 >> > ":1.53" "org.mpris.MediaPlayer2.emms" "/org/mpris/MediaPlayer2" >> > "org.freedesktop.DBus.Properties" "Get" >> > emms-mpris-get-property-handler (:string >> >> Fran, can you please check and integrate this patch? >> >> -- >> "Cut your own wood and it will warm you twice" >> >
