Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Problems at use | Problèmes à l'utilisation musicPlayer shows song info for wrong song in Pithos
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Problems at use | Problèmes à l'utilisation

Subjects Author Language Messages Last message
[Locked] musicPlayer shows song info for wrong song in Pithos
Guest English 9 fabounet [Read]
19 September 2012 à 17:40

Guest, Sunday 19 August 2012 à 15:32

When using musicPlayer to control Pithos, the song info shown is for the previous song, not the current song.

I'm using CD 3.0.0 (from the Ubuntu repos) on Ubuntu 12.04, running in the Cairo-Dock session. My Pithos version is the latest from Kevin Mehall's repo. I'm using OpenGL and Compiz.

agerber85, Sunday 19 August 2012 à 15:34


Subscription date : 19 August 2012
Messages : 4
Guest :
When using musicPlayer to control Pithos, the song info shown is for the previous song, not the current song.

I'm using CD 3.0.0 (from the Ubuntu repos) on Ubuntu 12.04, running in the Cairo-Dock session. My Pithos version is the latest from Kevin Mehall's repo. I'm using OpenGL and Compiz.


Oops, I guess I wasn't logged in when I posted that.

matttbe, Sunday 19 August 2012 à 15:40


Subscription date : 24 January 2009
Messages : 12573
Hello and thank you for this bug report!

Unfortunately, I think this bug is not due to the dock. But just to be sure, can you launch this command from a shell and post here the new output messages when a new song is starting to play?
dbus-monitor

agerber85, Sunday 19 August 2012 à 21:13


Subscription date : 19 August 2012
Messages : 4
Unfortunately, launching dbus-monitor results in such a rapid stream of messages that it's impossible to find any messages associated with a new song.

matttbe, Sunday 19 August 2012 à 21:27


Subscription date : 24 January 2009
Messages : 12573
You can launch it, press the 'Return' key on the terminal just before playing the next song and then press Ctrl+C on the terminal.
Then post the output here.

If it's still too hard to catch these informations, launch it with this command:
dbus-monitor > ~/dbus-monitor.log
and stop it with 'Ctrl+C'. Then post the content of the 'dbus-monitor.log' file (available on your 'Home' directory) on Pastebin.com (or something else)

agerber85, Monday 20 August 2012 à 13:05


Subscription date : 19 August 2012
Messages : 4
Oh, I guess I should have thought of putting the output in a file. I think I've isolated the relevant bits. The song info for both songs are contained in the output. The Jeremy Camp song was playing before I hit "next", and the Aaron Shust song was playing afterwards.

signal sender=:1.153 -> dest=(null destinationserial=52 path=/net/kevinmehall/Pithos; interface=net.kevinmehall.Pithosmember=PlayStateChanged
   boolean false
signal sender
=:1.153 -> dest=(null destinationserial=53 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Propertiesmember=PropertiesChanged
   string 
"org.mpris.MediaPlayer2.Player"
   
array [
      
dict entry(
         
string "PlaybackStatus"
         
variant             string "Paused"
      
)
   ]
   array [
   ]
signal sender=:1.80 -> dest=(null destinationserial=73 path=/com/canonical/indicator/sound/menu; interface=com.canonical.dbusmenumember=ItemsPropertiesUpdated
   
array [
      
struct {
         
int32 13
         
array [
            
dict entry(
               
string "x-canonical-sound-menu-player-transport-state"
               
variant                   int32 1
            
)
         ]
      }
   ]
   array [
   ]
signal sender=:1.153 -> dest=(null destinationserial=54 path=/net/kevinmehall/Pithos; interface=net.kevinmehall.Pithosmember=PlayStateChanged
   boolean true
signal sender
=:1.153 -> dest=(null destinationserial=55 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Propertiesmember=PropertiesChanged
   string 
"org.mpris.MediaPlayer2.Player"
   
array [
      
dict entry(
         
string "PlaybackStatus"
         
variant             string "Playing"
      
)
      
dict entry(
         
string "Metadata"
         
variant             array [
               
dict entry(
                  
string "xesam:artist"
                  
variant                      array [
                        
string "Jeremy Camp"
                     
]
               )
               
dict entry(
                  
string "xesam:album"
                  
variant                      string "Carried Me: The Worship Project"
               
)
               
dict entry(
                  
string "xesam:title"
                  
variant                      string "Beautiful One"
               
)
               
dict entry(
                  
string "mpris:artUrl"
                  
variant                      string "http://cont-sv5-2.pandora.com/images/public/amz/9/2/3/1/724353961329_499W_500H.jpg"
               
)
            ]
      )
   ]
   array [
   ]
signal sender=:1.80 -> dest=(null destinationserial=74 path=/com/canonical/indicator/sound/menu; interface=com.canonical.dbusmenumember=ItemsPropertiesUpdated
   
array [
      
struct {
         
int32 13
         
array [
            
dict entry(
               
string "x-canonical-sound-menu-player-transport-state"
               
variant                   int32 0
            
)
         ]
      }
   ]
   array [
   ]
method call sender=:1.56 -> dest=org.mpris.MediaPlayer2.pithos serial=3458 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Propertiesmember=Get
   string 
"org.mpris.MediaPlayer2.Player"
   
string "Position"
signal sender=:1.153 -> dest=(null destinationserial=56 path=/net/kevinmehall/Pithos; interface=net.kevinmehall.Pithosmember=SongChanged
   
array [
      
dict entry(
         
string "album"
         
variant             string "Anything Worth Saying"
      
)
      
dict entry(
         
string "title"
         
variant             string "My Savior My God"
      
)
      
dict entry(
         
string "songDetailURL"
         
variant             string "http://www.pandora.com/aaron-shust/anything-worth-saying/my-savior-my-god?dc=232&ad=1:27:1:47906::0:0:0:0:527:595:IN:18181:2:0:0:0"
      
)
      
dict entry(
         
string "artist"
         
variant             string "Aaron Shust"
      
)
   ]
signal sender=:1.153 -> dest=(null destinationserial=57 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Propertiesmember=PropertiesChanged
   string 
"org.mpris.MediaPlayer2.Player"
   
array [
      
dict entry(
         
string "PlaybackStatus"
         
variant             string "Playing"
      
)
      
dict entry(
         
string "Metadata"
         
variant             array [
               
dict entry(
                  
string "xesam:artist"
                  
variant                      array [
                        
string "Aaron Shust"
                     
]
               )
               
dict entry(
                  
string "xesam:album"
                  
variant                      string "Anything Worth Saying"
               
)
               
dict entry(
                  
string "xesam:title"
                  
variant                      string "My Savior My God"
               
)
               
dict entry(
                  
string "mpris:artUrl"
                  
variant                      string "http://cont-sjl-2.pandora.com/images/public/amz/2/2/7/1/881410001722_500W_500H.jpg"
               
)
            ]
      )
   ]
   array [
   ]
error sender=:1.153 -> dest=:1.56 error_name=org.freedesktop.DBus.Python.AttributeError reply_serial=3458
   string 
"Traceback (most recent call last):
  File "
/usr/lib/python2.7/dist-packages/dbus/service.py", line 707, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File "
/usr/lib/python2.7/dist-packages/pithos/sound_menu.py", line 100, in Get
    my_prop = self.__getattribute__(prop)
AttributeError: 'PithosSoundMenu' object has no attribute 'Position'
"
method call sender=:1.56 -> dest=org.mpris.MediaPlayer2.pithos serial=3459 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Propertiesmember=Get
   string 
"org.mpris.MediaPlayer2.Player"
   
string "Position"
error sender=:1.153 -> dest=:1.56 error_name=org.freedesktop.DBus.Python.AttributeError reply_serial=3459
   string 
"Traceback (most recent call last):
  File "
/usr/lib/python2.7/dist-packages/dbus/service.py", line 707, in _message_cb
    retval = candidate_method(self, *args, **keywords)
  File "
/usr/lib/python2.7/dist-packages/pithos/sound_menu.py", line 100, in Get
    my_prop = self.__getattribute__(prop)
AttributeError: 'PithosSoundMenu' object has no attribute 'Position'
"

matttbe, Monday 20 August 2012 à 23:01


Subscription date : 24 January 2009
Messages : 12573
It seems your player doesn't send the 'trackid' and this is why Cairo-Dock doesn't detect that the track has changed.
Can you report this bug to Pithos devs in order to know "why they doesn't send the 'trackid' with the 'PropertiesChanged' signal

In fact when a new song is loaded, the player sends a DBus signal with these data but there is nothing about the trackid:
signal sender=:1.153 -> dest=(null destinationserial=57 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Propertiesmember=PropertiesChanged
   string 
"org.mpris.MediaPlayer2.Player"
   
array [
      
dict entry(
         
string "PlaybackStatus"
         
variant             string "Playing"
      
)
      
dict entry(
         
string "Metadata"
         
variant             array [
               
dict entry(
                  
string "xesam:artist"
                  
variant                      array [
                        
string "Aaron Shust"
                     
]
               )
               
dict entry(
                  
string "xesam:album"
                  
variant                      string "Anything Worth Saying"
               
)
               
dict entry(
                  
string "xesam:title"
                  
variant                      string "My Savior My God"
               
)
               
dict entry(
                  
string "mpris:artUrl"
                  
variant                      string "http://cont-sjl-2.pandora.com/images/public/amz/2/2/7/1/881410001722_500W_500H.jpg"
               
)
            ]
      )
   ] 

This is what I have with Clementine:
   string "org.mpris.MediaPlayer2.Player"
   
array [
      
dict entry(
         
string "Metadata"
         
variant             array [
               
dict entry(
                  
string "mpris:artUrl"
                  
variant                      string "file:///tmp/clementine-art-h13756.jpg"
               
)
               
dict entry(
                  
string "mpris:trackid"
                  
variant                      string "/org/mpris/MediaPlayer2/Track/20"
               
)
(...)


It seems that the 'trackid' is required, following the MPRIS2 specifications:
If there is a current track, this must have a "mpris:trackid" entry (of D-Bus type "o") at the very least, which contains a D-Bus path that uniquely identifies this track.


PS: Also, it seems your player give us a non local URL for the cover, it's maybe better to give a link to the local file used by the player to not download a file twice

agerber85, Tuesday 21 August 2012 à 01:03


Subscription date : 19 August 2012
Messages : 4
Thanks for your help. I've reported the issue with the Pithos developer. It can be viewed at https://bugs.launchpad.net/pithos/+bug/1039272

Guest, Monday 17 September 2012 à 23:01

Audacious 3.2.1 doesn't seem to use trackid either. Ubuntu x86_64

signal sender
=org.freedesktop.DBus -> dest=:1.737 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBusmember=NameAcquired
   string 
":1.737"
method call sender=:1.737 -> dest=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBusmember=AddMatch
   string 
"type='method_call'"
method call sender=:1.737 -> dest=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBusmember=AddMatch
   string 
"type='method_return'"
method call sender=:1.737 -> dest=org.freedesktop.DBus serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBusmember=AddMatch
   string 
"type='error'"
method call sender=:1.727 -> dest=org.mpris.MediaPlayer2.audacious serial=64 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Propertiesmember=Get
   string 
"org.mpris.MediaPlayer2.Player"
   
string "Position"
error sender=:1.401 -> dest=:1.727 error_name=org.freedesktop.DBus.Error.InvalidArgs reply_serial=64
   string 
"No such property `Position'"
signal sender=:1.7 -> dest=:1.402 serial=883 path=/org/gnome/SettingsDaemon/MediaKeys; interface=org.gnome.SettingsDaemon.MediaKeysmember=MediaPlayerKeyPressed
   string 
"Audacious"
   
string "Next"
signal sender=:1.402 -> dest=(null destinationserial=165 path=/TrackList; interface=org.freedesktop.MediaPlayermember=TrackListChange
   int32 4791
signal sender
=:1.401 -> dest=(null destinationserial=282 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Propertiesmember=PropertiesChanged
   string 
"org.mpris.MediaPlayer2.Player"
   
array [
      
dict entry(
         
string "Metadata"
         
variant             array [
               
dict entry(
                  
string "xesam:title"
                  
variant                      string "Familiar Ground (f. Fontella Bass)"
               
)
               
dict entry(
                  
string "xesam:artist"
                  
variant                      array [
                        
string "The Cinematic Orchestra"
                     
]
               )
               
dict entry(
                  
string "xesam:album"
                  
variant                      string "ambient"
               
)
            ]
      )
   ]
   array [
   ]
signal sender=:1.733 -> dest=(null destinationserial=46 path=/com/canonical/indicator/sound/menu; interface=com.canonical.dbusmenumember=ItemsPropertiesUpdated
   
array [
      
struct {
         
int32 12
         
array [
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-xesam:title"
               
variant                   string "Familiar Ground (f. Fontella Bass)"
            
)
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-xesam:artist"
               
variant                   string "The Cinematic Orchestra"
            
)
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-xesam:album"
               
variant                   string "ambient"
            
)
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-hide-track-details"
               
variant                   boolean false
            
)
         ]
      }
   ]
   array [
   ]
signal sender=:1.7 -> dest=:1.402 serial=884 path=/org/gnome/SettingsDaemon/MediaKeys; interface=org.gnome.SettingsDaemon.MediaKeysmember=MediaPlayerKeyPressed
   string 
"Audacious"
   
string "Next"
signal sender=:1.402 -> dest=(null destinationserial=166 path=/TrackList; interface=org.freedesktop.MediaPlayermember=TrackListChange
   int32 4791
signal sender
=:1.401 -> dest=(null destinationserial=283 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Propertiesmember=PropertiesChanged
   string 
"org.mpris.MediaPlayer2.Player"
   
array [
      
dict entry(
         
string "Metadata"
         
variant             array [
               
dict entry(
                  
string "xesam:title"
                  
variant                      string "Poor Boy"
               
)
               
dict entry(
                  
string "xesam:artist"
                  
variant                      array [
                        
string "Eric Clapton; Steve Winwood; Bil Wyman; Charlie Watts"
                     
]
               )
               
dict entry(
                  
string "xesam:album"
                  
variant                      string "The London Howlin' Wolf Sessions"
               
)
            ]
      )
   ]
   array [
   ]
signal sender=:1.733 -> dest=(null destinationserial=47 path=/com/canonical/indicator/sound/menu; interface=com.canonical.dbusmenumember=ItemsPropertiesUpdated
   
array [
      
struct {
         
int32 12
         
array [
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-xesam:title"
               
variant                   string "Poor Boy"
            
)
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-xesam:artist"
               
variant                   string "Eric Clapton; Steve Winwood; Bil Wyman; Charlie Watts"
            
)
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-xesam:album"
               
variant                   string "The London Howlin' Wolf Sessions"
            
)
         ]
      }
   ]
   array [
   ]
signal sender=:1.7 -> dest=:1.402 serial=885 path=/org/gnome/SettingsDaemon/MediaKeys; interface=org.gnome.SettingsDaemon.MediaKeysmember=MediaPlayerKeyPressed
   string 
"Audacious"
   
string "Next"
signal sender=:1.402 -> dest=(null destinationserial=167 path=/TrackList; interface=org.freedesktop.MediaPlayermember=TrackListChange
   int32 4791
signal sender
=:1.401 -> dest=(null destinationserial=284 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Propertiesmember=PropertiesChanged
   string 
"org.mpris.MediaPlayer2.Player"
   
array [
      
dict entry(
         
string "Metadata"
         
variant             array [
               
dict entry(
                  
string "xesam:title"
                  
variant                      string "Little Child Runnin' Wild"
               
)
               
dict entry(
                  
string "xesam:artist"
                  
variant                      array [
                        
string "Curtis Mayfield"
                     
]
               )
               
dict entry(
                  
string "xesam:album"
                  
variant                      string "ambient"
               
)
            ]
      )
   ]
   array [
   ]
signal sender=:1.733 -> dest=(null destinationserial=48 path=/com/canonical/indicator/sound/menu; interface=com.canonical.dbusmenumember=ItemsPropertiesUpdated
   
array [
      
struct {
         
int32 12
         
array [
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-xesam:title"
               
variant                   string "Little Child Runnin' Wild"
            
)
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-xesam:artist"
               
variant                   string "Curtis Mayfield"
            
)
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-xesam:album"
               
variant                   string "ambient"
            
)
         ]
      }
   ]
   array [
   ]
signal sender=:1.402 -> dest=(null destinationserial=168 path=/TrackList; interface=org.freedesktop.MediaPlayermember=TrackListChange
   int32 4791
signal sender
=:1.401 -> dest=(null destinationserial=285 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Propertiesmember=PropertiesChanged
   string 
"org.mpris.MediaPlayer2.Player"
   
array [
      
dict entry(
         
string "Metadata"
         
variant             array [
               
dict entry(
                  
string "xesam:title"
                  
variant                      string "OysterHead- Blue Ginger (5-8-0"
               
)
               
dict entry(
                  
string "xesam:artist"
                  
variant                      array [
                        
string "Oyster Head"
                     
]
               )
               
dict entry(
                  
string "xesam:album"
                  
variant                      string "Unknown"
               
)
               
dict entry(
                  
string "mpris:artUrl"
                  
variant                      string "file:///home/tward/Music/misc/AlbumArt_%7B54A6D3A0-47AD-4B98-87F2-DF3E10D6BCD5%7D_Large.jpg"
               
)
            ]
      )
   ]
   array [
   ]
signal sender=:1.733 -> dest=(null destinationserial=49 path=/com/canonical/indicator/sound/menu; interface=com.canonical.dbusmenumember=ItemsPropertiesUpdated
   
array [
      
struct {
         
int32 12
         
array [
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-xesam:title"
               
variant                   string "OysterHead- Blue Ginger (5-8-0"
            
)
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-xesam:artist"
               
variant                   string "Oyster Head"
            
)
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-xesam:album"
               
variant                   string "Unknown"
            
)
            
dict entry(
               
string "x-canonical-sound-menu-player-metadata-mpris:artUrl"
               
variant                   string "/home/tward/Music/misc/AlbumArt_{54A6D3A0-47AD-4B98-87F2-DF3E10D6BCD5}_Large.jpg"
            
)
         ]
      }
   ]
   array [
   ]
...


fabounet, Wednesday 19 September 2012 à 17:40


Subscription date : 30 November 2007
Messages : 17118
If the 3.2.1 is the current stable version, could you please report this bug to the devs, and let us know what they say about it ?
thanks in advance

Problems at use | Problèmes à l'utilisation

Subjects Author Language Messages Last message
[Locked] musicPlayer shows song info for wrong song in Pithos
Guest English 9 fabounet [Read]
19 September 2012 à 17:40


Glx-Dock / Cairo-Dock List of forums Problems at use | Problèmes à l'utilisation musicPlayer shows song info for wrong song in Pithos Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.