Improve the dynamic playlists

Leo Franchi lfranchi at kde.org
Wed Jan 27 18:44:56 CET 2010


On Wed, Jan 27, 2010 at 10:37 AM, Ludovic DEVEAUX
<deveaux.ludovic31 at gmail.com> wrote:
> Hello,
>
> We are students from Toulouse, France and we are working on Amarok as
> a university project. One our tasks is to work on the dynamic
> playlists.
>
> We already have studied the main functioning of the feature but we
> have now some questions.
>
> First, which way could we improve the algorithms ? For example, we can
> make tests of ga_optimize() to eventually use it in the code. Nikolaj
> Hald Nielsen told us some algorithms don't work the way they should,
> can anyone point out what we should focus on ?
>
> We would like to gather opinions about the dynamic playlists applet.
> Do you think it is usable and understandable for most users ? We think
> it's a bit too complicated at the moment. With your feedback we could
> make a proposal for enhancement.

Hi IUP guys,

I see a few ways of tackling this. First of all, how much time do you
guys want to spend on the dynamic playlist stuff? I think we've talked
about this  before, but there are quite a few structural limitations
to how the dynamic playlist system is currently implemented. Polishing
the system (which is what i've been doing too recently) is OK but
fundamentally just furthers the half-working system that is there.

We designed an awesome flexible intuitive new dynamic playlist
framework this summer (see
http://amarok.kde.org/wiki/Development/GCDS_Discussions/Dynamic_Playlists
) but I haven't had the time to implement it yet. If you want to
tackle the problem completely, I would be totally willing to support
and advice and do what I can to make it happen :) :) :) It is however
a large task so I don't know if it's something you guys are interested
in.

As you guys say, you could tweak the bias solver. Enabling ga_optimize
and tuning it would certainly improve the system. However, I don't
really know how much improvement it would really  bring--sa_optimize
and ga_optimize are both only used for optimizing playlists with fuzzy
biases, and personally IMHO i don't think that's used that much by
most people. I don't think people will even notice an additional
genetic optimization algorithm for creating fuzzy dynamic playlists
(on top of the existing simulated annealing optimizer). So I would
recommend against trying to enable ga_optimize in the bias
solver---it's also something that could take up a *lot* of time for
little gain.

I'm not sure what you mean about the dynamic playlists applet. There
is no dynamic playlists applet currently....I guess you mean the
dynamic playlist UI? That could definitely use some work as it can be
confusing and not really clear to the user.

One of my suggestions, which has been on my personal list for a long
time, is to extend the dynamic playlist system to work with non-sql
collection tracks. I mean, allow the dynamic playlists to select songs
from *any* collection (local songs, magnatune, ampache, mp3tunes,
whatever). This would allow it to *greatly increase* its ability to
help you discover new music, especially when put together with some of
the custom biases that currently exist (like the last.fm or echonest
similarity biases). So being able to draw tracks from say magnatune,
or a shared ampache server, would be awesome.

Anyway, feel free to ask me any questions etc. As you most likely have
figured out the code is a mess and completely over-engineered, and I
think i'm the only person left who's spent a significant amount of
time digging through it and writing stuff for it.

leo



-- 
______________________________________________________
lfranchi at kde.org                       Tufts  University 2010
leonardo.franchi at tufts.edu         The KDE Project


More information about the Amarok-devel mailing list