Review for demo GUI

Matěj Laitl matej at
Tue May 21 20:16:11 BST 2013

this is a heads-up from an Amarok developer.

On 21. 5. 2013 Shubham Chaudhary wrote:
> I totally agree with you here, even I faced some problems that made me
> realized the gravity of this mistake.
> Actually Amarok takes some time before it actually sends the metadata
> of next song, so whenever I pressed next or previous button, the
> metadata and album art fields would go blank.

Amarok takes some time before it actually starts to play the next song, this 
is by design, and because Phonon is asynchronous, all players using it must be 
inherently asynchronous in this case.

> Clementine and several other player were working perfectly fine in
> this context,

Not "fine", they are just implemented in one particular way that suits you 
better, it doesn't mean that other players aren't fine.

> so I discussed it with #amarok guys, finally we had to
> make a patch in Amarok's MPRIS2 interface to support this fast
> retrieval of metadata information like other players.
> I hope that the patch gets committed,

No, it won't. That was a quick hack to identify your issue, not meant for 

Man, you should read MPRIS2 spec., there is the Metadata property with 
explicit note that when it is changed, appropriate propertyChanged signal is 
emitted. Doing explicit metadata retrieval upon track change is bogus, you 
just listen to the propertyChanged signal. No-brainer.

> but what I realized from this was that I can't rely on the synchronous
> methods. I'm planning to modify the QMpris library accordingly.

No, you haven't understood it, this wasn't because you using a synchronous 
method, this was because you were assuming synchronous behaviour of the 
players. Using async DBus calls in something perpendicular to the issue you 
had with Amarok. (i.e. that bug in your code wouldn't be fixed just by 
switching to async DBus calls)

kde-multimedia mailing list
kde-multimedia at

More information about the kde-multimedia mailing list