[Feedback] DBus Interface Needed Enhancements

Sébastien Laoût slaout at linux62.org
Sun Aug 5 10:26:42 UTC 2007


Hi,

As far as I'm concerned, I will have to refactor a lot of code for my 
applet/application. To make it run on Plasma but also to accomodate to the 
new Amarok API.

So I don't bother if the D-Bus interface change.
And I usualy prefer clean restarts, so I would opt for the solution of 
changing the interface to an elegant one instead of keeping compatibility.

But other people may disagree, so keeping a compatibility layer like Reigo 
suggested may be a good solution.

And if you have questions about the design of the new interface, don't 
hesitate to ask me.

You can also download the Kirocker Music Display sources to see how I've done 
things.
You should only be interested in informationpoller.cpp.
Especially retreiveNextPlaying(), poll(), retreiveNewCover(), 
retreiveNewLastFmCover() and bigNoCoverPath().
The last 3 methods are 107 lines and could be replaced with one line with the 
new API.

There are various optimisations, like not retreiving the cover art if the 
artist and album is the same as previously, but if people change the cover 
then the cover is not updated in Kirocker Music Display.
It happened me several times when I saw a pixelized cover, I changed it to a 
better one inside Amarok, but the cover was not refreshed in the applet.
But those optimisations are needed for speed and because eg. there is no 
coverChanged() signal from Amarok.

Best regards,
Sébastien Laoût.

Le dimanche 05 août 2007, vous avez écrit :
> Hei Markey and the Team!
>
> The way you should go (based on my tiny brains opinion) is simple:
>
> Create a fresh new set of calls and signals etc, remove the
> inconsistencies etc.. If i remember correctly, DCOP allowed nesting of
> the calls right? like putting them into "folders".. Actualy it was a
> Class Structure i think.. argh i've been away from the code too long.
>
> Anyway, if you can, you could but move the old calls into
> "old/playlist/next" style hirearchy.. though its much work.
>
> But Leave the old DCOP / D-BUS calls and mark them Depracated and a note
> that will be removed in Amarok 2.1 or smth...
>
> Amarok 2.0 is a "Whole New Sexperience" in my opinion, nobody expects
> you to keep supremely good backwards compatibility.. Imho Backward
> compatibility should NEVER EVER disrupt the work of the new developments
> etc.. So if its old and in the way, get rid of it! :)
>
> Just my 0.02$
> Xatax
>
> Mark Kretschmann wrote:
> > Thanks for sharing your proposal, Sébastien. This kind of feedback
> > directly from an extension developer is very valuable for us.
> >
> > As far as I can see all of your requests make sense. I think we will
> > try to implement them, step by step. One thing that I have been
> > wondering is whether we should try to keep compatibility with the old
> > interface - currently it's exactly the same as in 1.4, except that
> > it's a D-Bus call instead of DCOP - or if we should make a new start
> > and clean up the interface, remove inconsistencies and so on.
> >
> > Currently I tend to prefer the former solution, as for one it's less
> > work, and second it makes it possible to port existing scripts very
> > easily. What do you think?



More information about the Amarok mailing list