On 2009/05/26 13:21, Matt Wheeler <m...@funkyhat.org> wrote:
> I'm not sure I understand, a queue has a lot of similarities to a
> playlist, so surely re-using playlist code would result in less
> duplication of code than a separate solution (although that may mean
> the current playlist code would need generalising a little).

A while ago, a queue patch was merged into subversion, but was removed
when the former MPD lead developer found the code too ugly.  It sure
was awful, and I'm grateful it was already gone when I took over.

Now if we generalize the playlist code, we can expose that generic
solution to the clients, instead of providing one single very special
feature like the "queue".

> The idea of queueing/nesting playlists is interesting, I hadn't
> thought of that, but restricting a queue to this format means the
> use case of "playing library on shuffle, but now I want to add a
> song to a queue to be played next" is not satisfied (unless I'm
> missing something), without "remove all other songs from current
> sub-playlist, add song I want to next sub-playlist, add library
> again to sub-playlist after next" which just feels awkward.

Create sub-playlist with "queued songs" ("consume mode" enabled),
insert it before the "shuffled playlist", move "current song" before
"queued songs".  Agree, this is a complex operation, but it's only as
complex as the user's wish.

> That is what I meant, if the queue is implemented just as a special
> playlist, then old unmaintained clients will continue to work, and
> support the queue, the client doesn't need to know it is special
> (nested playlists may break old clients as well, but users aren't
> forced to nest playlists anyway).

With nested/chained playlists, you could serve only the current/first
"sub-playlist" to clients calling "old-style" playlist manipulation
commands.  Only clients which speak "new-style" commands would see the
big picture.

Max

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to