[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 --- Comment #12 from Friedrich W. H. Kossebau--- spotify 1.0.69 working as expected is good news. Thanks for that update, and thanks also again for your active support in sorting out things :) -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 --- Comment #11 from Danny Auble--- I agree, thanks for your help on this. I have already verified they have this fixed in a newer release of spotify. The spotify version with the problem is 0.9.17.8. 1.0.69 is working as expected. I also verified the 'good' system I though it worked with was actually still running KDE 5.10.5 so it also makes sense why it was working. Thanks for your help and great information on how to debug. -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 Friedrich W. H. Kossebauchanged: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |UPSTREAM --- Comment #10 from Friedrich W. H. Kossebau --- Seems we found the cause, good. So this then is a bug in spofify (or whatever adapter there is for it to support MPRIS). They need to properly handle the "Play" method, if they want to rightfully claim to support MPRIS. The purpose of specs such as MPRIS is to have a generic contract which every party complies to, so things work across systems out-of-the-box. I hope you agree that adapting implementations (like here Plasma) to deal with some parties misbehaving ruins the idea of the spec. So please report this bug about not handling the "Play" method to where you got spotify from. You did not mention your operating system, so I cannot give any hint myself who you might need to contact, hope you do know or can find out. While most other MPRIS controllers might also default to use the "PlayPause" method (so this bug is not uncovered), there is a chance other MPRIS controllers also try just the "Play" method and will fail as well. So best for all in the long-term is to have spotify behave correctly. -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 --- Comment #9 from Danny Auble--- qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause Also works just fine as well (expected). -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 --- Comment #8 from Danny Auble--- Thanks for the tutorial :). That appears to be the issue. qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Play results in nothing. qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Pause works just fine. Any idea how to fix it (or go back to the old method)? Seems strange it works on other systems. -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 --- Comment #7 from Friedrich W. H. Kossebau--- Calling the "Play" method would be done like this: qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 \ org.mpris.MediaPlayer2.Player.Play Spec for Play behaviour is at https://specifications.freedesktop.org/mpris-spec/latest/Player_Interface.html#Method:Play For all the methods you would just use "org.mpris.MediaPlayer2.Player." + method name in the above call. So what you do here is: qdbus service object-in-service method-of-object (args, none here) Getting the "PlaybackStatus" property: qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 \ org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player \ PlaybackStatus -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 --- Comment #6 from Danny Auble--- I am glad it makes sense at least :). How would I check this method and property? Thanks again for you help! -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 --- Comment #5 from Friedrich W. H. Kossebau--- Thanks for the info. Okay, that make things more transparent: in a change for Plasma 5.12.3, in the desire to properly support the CanPause flag, the media key handling code was changed from using the "PlayPause" method to use instead explicitly the "Play" & "Pause" methods and take the current PlaybackStatus into account. See the respective current code in Plasma here: https://cgit.kde.org/plasma-workspace.git/tree/dataengines/mpris2/multiplexedservice.cpp?h=Plasma%2F5.12#n78 So there is either the chance that spotify does not properly update the PlaybackStatus or does not react to the call of "Play" method. Can you check that method and property as well? -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 --- Comment #4 from Danny Auble--- If I attach dbus-monitor to it I get dbus-monitor "sender='org.mpris.MediaPlayer2.spotify'" When I hit play/pause method return time=1520955006.105602 sender=:1.40 -> destination=:1.19 serial=1108 reply_serial=1360 variant boolean true method return time=1520955006.105816 sender=:1.40 -> destination=:1.19 serial=1109 reply_serial=1361 variant string "Playing" method return time=1520955006.106052 sender=:1.40 -> destination=:1.19 serial=1110 reply_serial=1362 variant boolean true signal time=1520955006.109423 sender=:1.40 -> destination=(null destination) serial= path=/StatusNotifierItem; interface=org.kde.StatusNotifierItem; member=NewStatus string "Passive" signal time=1520955006.109442 sender=:1.40 -> destination=(null destination) serial=1112 path=/StatusNotifierItem; interface=org.kde.StatusNotifierItem; member=NewStatus string "Active" signal time=1520955006.109452 sender=:1.40 -> destination=(null destination) serial=1113 path=/StatusNotifierItem; interface=org.kde.StatusNotifierItem; member=NewToolTip method return time=1520955006.89 sender=:1.40 -> destination=:1.19 serial=1114 reply_serial=1363 signal time=1520955006.111576 sender=:1.40 -> destination=(null destination) serial=1115 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged string "org.mpris.MediaPlayer2.Player" array [ dict entry( string "PlaybackStatus" variant string "Paused" ) ] array [ ] signal time=1520955006.111671 sender=:1.40 -> destination=(null destination) serial=1116 path=/StatusNotifierItem/menu; interface=com.canonical.dbusmenu; member=LayoutUpdated uint32 14 int32 0 method return time=1520955006.111899 sender=:1.40 -> destination=:1.19 serial=1117 reply_serial=1364 variant int64 0 method return time=1520955006.114116 sender=:1.40 -> destination=:1.19 serial=1118 reply_serial=1365 uint32 14 struct { int32 0 array [ dict entry( string "children-display" variantstring "submenu" ) ] array [ variant struct { int32 1 array [ dict entry( string "enabled" variant boolean false ) dict entry( string "label" variant string "Duran Duran รข Ordinary World" ) ] array [ ] } variant struct { int32 2 array [ dict entry( string "type" variant string "separator" ) ] array [ ] } variant struct { int32 3 array [ dict entry( string "label" variant string "Open Spotify" ) ] array [ ] } variant struct { int32 4 array [ dict entry( string "type" variant string "separator" ) ] array [ ] } variant struct { int32 5 array [ dict entry( string "label" variant string "Play" ) ] array [ ] } variant struct { int32 6 array [ dict entry( string "type" variant string "separator" ) ] array [ ] } variant struct { int32 7 array [ dict entry( string "label" variant string "Next" ) ] array [ ] } variant struct { int32 8 array [ dict entry( string "label" variant string "Previous" ) ] array [ ] } variant struct { int32 9
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 --- Comment #3 from Danny Auble--- For further reference qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.GetAll org.mpris.MediaPlayer2.Player CanControl: true CanGoNext: true CanGoPrevious: true CanPause: true CanPlay: true CanSeek: true LoopStatus: Playlist MaximumRate: 1 Metadata: mpris:artUrl: http://open.spotify.com/thumb/0fd555d08a265b1c364044a4118cf6e1ea700f67 mpris:length: 32300 mpris:trackid: spotify:track:6Oy2qpuumdnPo44ZpmxSY7 xesam:album: Liberty xesam:artist: Duran Duran xesam:autoRating: 0.16 xesam:contentCreated: 1990-01-01T00:00:00 xesam:discNumber: 1 xesam:title: Downtown xesam:trackNumber: 11 xesam:url: spotify:track:6Oy2qpuumdnPo44ZpmxSY7 MinimumRate: 1 PlaybackStatus: Paused Position: 0 Rate: 1 Shuffle: false Volume: 0 -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 --- Comment #2 from Danny Auble--- Friedrich, thanks for the help! qdbus | grep org.mpris.MediaPlayer2 org.mpris.MediaPlayer2.spotify qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player CanPlay true qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player CanPause true At this point it seems to be correct Note even stranger, I have set up another hotkey to expressly call dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause and that works just fine for both play and pause. I have tried uninstalling and reinstalling spotify as well and that didn't change the behavior. This just started with the update. I also tried on a different machine and functionality seems to be correct there, so this must be some sort of configuration issue. I have tried with a completely new user on the bad system with the same bad results so the issue seems to be system wide. I suppose I could reinstall everything from fresh, but I would rather avoid doing that. At the moment I can still use the extra hotkey to do the play/pausing, but love the MediaPlayer interface when switching players (as I use Amarok very often as well). Thanks again for your help! -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 --- Comment #1 from Friedrich W. H. Kossebau--- Hi, thanks for the report & sorry for having caused trouble for you by getting slightly more strict about MPRIS usage. By your report I for now suspect this might be a bug with Spotify's (or some wrapper to it? no clue about spotify code) implementation of the MPRIS spec. I do not have/use spotify myself, so cannot test. This is what you can do to help with this problem: On the commandline when spotify is running you can inspect its MPRIS properties. Please tell what you get as results when spotify is not reacting as expected. # Find the D-Bus MPRIS service name of spotify # Should return something like "org.mpris.MediaPlayer2.spotify" qdbus | grep org.mpris.MediaPlayer2 # Assuming the name is "org.mpris.MediaPlayer2.spotify" (adapt if needed) # now check the states of the properties "CanPlay" & "CanPause" # (each qdbus call can also be done in one line, using multiline with \ # just because of this input field) qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 \ org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player CanPlay qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 \ org.freedesktop.DBus.Properties.Get org.mpris.MediaPlayer2.Player CanPause The property query results ("true" or "false") should match what the MPRIS spec requires for them giving the current state the spotify app is in. See https://specifications.freedesktop.org/mpris-spec/latest/Player_Interface.html#Property:CanPlay . Especially important in the spec is this bit: "Note that this is related to whether there is a "current track": the value should not depend on whether the track is currently paused or playing. In fact, if a track is currently playing (and CanControl is true), this should be true." Chance is that this is not matched given your description. But for now just my assumption. -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 Kai Uwe Broulikchanged: What|Removed |Added CC||k...@privat.broulik.de, ||plasma-b...@kde.org Assignee|alex.me...@kde.org |k...@privat.broulik.de Target Milestone|--- |1.0 Product|frameworks-kmediaplayer |plasmashell Component|general |Media Player -- You are receiving this mail because: You are watching all bug changes.
[plasmashell] [Bug 391545] XF86AudioPlay no longer resumes play on spotify
https://bugs.kde.org/show_bug.cgi?id=391545 Kai Uwe Broulikchanged: What|Removed |Added Assignee|k...@privat.broulik.de |kosse...@kde.org Version|5.12.0 |5.12.3 -- You are receiving this mail because: You are watching all bug changes.