[Amarok] Improve dynamic playlist's behaviour on track chan

Rick W. Chen stuffcorpse at archlinux.us
Tue Nov 17 02:23:29 CET 2009


Mon, 16 Nov, 2009 at 11:36:27 PM +0100, Thomas Pfeiffer:
> > On Mon, Nov 16, 2009 at 12:21 PM, Lydia Pintscher <lydia at kde.org> wrote:
> > > Before calling usability I'd like to have our usability people comment
> > > on this ;-)
> > > I am not convinced this is the best thing to do atm. If you click a
> > > song that is not the next song in the playlist it should skip those in
> > > between imho as it did before.
> > 
> > I'd concur... theres likely a reason those songs were skipped.
> > Behavior should remain constant in the playlist, rather than having it
> > do different things depending on seigo-knows-what.
> > 
> I agree: A track changing the position within the playlist when double-clicked
> isn't expected behavior.

Well, I expected it. But that's probably due to myself using Amarok 1.4
for a few years. I'm not a usability expert, so I cannot say whether the
change will improve usability for most people. But consider the
following:

With the previous behaviour, if you have queued tracks between the
active and the one you click on, they will disappear (unless you have a
big enough "Previous" size, and even then those queued tracks will be
put behind the active one).

Now, if you have tracks queued behind the active one (either manually or
via the above example), they will be played next. This is fine, except
the last active track is still in the upcoming list. Let me explain more
clearly:

track 1 * queued
track 2
track 3 <- active
track 4
track 5

I queue track 1, and when track 3 finishes playing:

track 1 <- active
track 2
track 3
track 4
track 5

Track 1 becomes active; tracks 2 and 3 are still upcoming so they will
be played again! To me, THIS is unexpected behaviour. With the patch,
this does not happen.

The dynamic playlist is a queue. When you decide to activate a track
that is not the next upcoming one, that track should be forwarded to the
active position (like a VIP) and processed, while everyone/track else
has to wait.

I understand that I might have overlooked something in my
implementation, causing crashes to occur. I cannot reproduce this yet so
I need to investigate it some more and hopefully with some help. Thanks.

-- 
    Rick


More information about the Amarok-devel mailing list