[UI] Current state of the lyrics applet

Thomas Pfeiffer colomar at autistici.org
Sun Oct 3 11:40:46 CEST 2010


On So, 2010-10-03 at 00:43 +0200, Martin wrote:
> Hi,
> 
> not sure if many of you have noticed it: but code-wise the lyrics applet is 
> far from being perfect.
> It's also missing some features that are currently hard to implement.
> For example: the lyrics from the lyrics applet are not synchronized with the 
> ones from Meta::Track::cachedLyrics (in other words: if one changes the lyrics 
> via TagDialog the old lyrics are still shown in the lyrics applet).
> 
> I tried to add code which synchronizes the lyrics from the applet with the 
> ones from the track. In theory this isn't that hard, but....
> Since the user can edit the lyrics in the applet I have to ask the user what 
> to do if the lyrics in the applet and in the track have changed at the same 
> time.
> My solution to this (until a few hours ago): I'll simply use a Plasma::Applet 
> feature - showMessage().
> Unfortunately there are issues (not on the plasma side though).
> With Qt 4.6 my changes looked like this: [0]
> Now I've updated to Qt 4.7 and there's a new form of that applet size bug 
> ([1]) back.
> Now the showMessage dialog looks like this: [2].
> 
> I went to #plasma and asked for possible solutions.
> The answer: 
> <aseigo> is the proxy widget in a layout?
> <xdarklight> no
> <aseigo> that's your issue then :)
> 
> I could probably add a layout to the current code somehow.
> The question is: does it still make sense to add code - or is rewriting the 
> applet the better option?
> 
> Advantages of a rewrite:
> -one could use more generic (plasma) functions so the layout is consistent 
> with other applications
> -new code (usually that means better/better readable code)
> -and so on... ;)
> 
> Of course a rewrite means quite a lot of work. But I think it's worth it (if 
> the resulting applet is better than the current one :)).
> 
> What do you think of a rewrite of the lyrics applet?
> If we decide to rewrite it: what's currently missing?

I'm not sure if it's something that has to be changed in the applet or
in the ultimate lyrics script but there is currently an issue when using
ultimate lyrics:
Often the lyrics site with the highest priority doesn't have the lyrics
for a song.
Therefore I want to fetch the lyrics from the next site, so I click
re-fetch. Every time I have to confirm because I might have changed the
lyrics. This is really annoying because I often have to cycle through
sites to get the lyrics but have to confirm every time.
I should only have to confirm if I actually have edited the lyrics.

Another issue I experienced is that sometimes I get html code printed in
the applet instead of rendered. Again, I don't know if that's an
ultimate lyrics problem.

> What's good about the current applet?

It works ;)
The colors finally work even in dark color schemes
The ability to edit lyrics is generally pretty neat (though I personally
don't use it)
The ability to use any script to populate the applet should definitely
be kept as well.

> PS: I also wanted to add that confirmation message because of a bug report: 
> [3].
> Not adding it would mean another unsatisfied customer ;)
> 
Now seeing this I'm asking myself if it wouldn't mean less problems to
just open a dialog when lyrics are edited? Or maybe even just open the
edit tags dialog and switch to the lyrics tab? I know it's less nice
because the inline editing feel gets lost, but it might mean a lot less
trouble and would still provide a nice shortcut when the user notices
that the lyrics currently associated with the song are incorrect.

> Regards,
> Martin
> 
> [0] http://www.abload.de/img/amarokscreenprh2.png
> [1] https://bugs.kde.org/show_bug.cgi?id=245342
> [2] http://www.abload.de/img/plasmashowmessagespve.png
> [3] https://bugs.kde.org/show_bug.cgi?id=207621
> _______________________________________________
> Amarok-devel mailing list
> Amarok-devel at kde.org
> https://mail.kde.org/mailman/listinfo/amarok-devel




More information about the Amarok-devel mailing list