[vlc-devel] playlist: flat / tree separation

Jean-Baptiste Kempf jb at videolan.org
Sat Aug 22 01:47:11 CEST 2009


On Fri, Aug 21, 2009 at 02:43:07PM +0200, Jakob Leben wrote :
> Any thoughts very welcome, please.

Let's try to sum up a few things from a user PoV:
 - Playlists are playlists, and people want to sort and rearrange
   them... Which is difficult to do in a tree-view.
   1) We need flat views

 - Some service libraries (MTP, Shoutcast, Upnp..., ) are hierarchy
   centrics and are therefore trees.
   2) we need tree views and therefore tree models

 - Media libraries are going to be more and more important as number of
   media grows.
   Tags and searching are going to be more and more used than hierarchy
   for those (see gmail, Win7 menu, spotlight...)
   3) a local media library in a dB format will happen eventually, you
      liking it or not (when do we merge jetru's work, btw?)
   4) geeks and ordered people are probably going to like hierarchies

So, do we need flat views? yes
Do we need trees views? very likely, in some situations, like Services
Do we need trees for current playlist? possibly not, but if you
implement it for Services, how is it different now?

Could they be the same internally (trees) and flat would just be the
view, when required?
Here is the tricky question I think.

The views are going to be the Qt4 and Mac OS X interfaces (yeah, I don't
care about other interfaces), but those views are not able sort nor to
move correctly items in the current playlist.
Sorting is done by the core (core must know what to play next),
and moving items can be tricky, (because of trees rendered in flat).

Ex, if you add 2 folders (a and b ) with 2 items (1, 2) in it, if the
view is just a "flattener" of the core (as it was suggested by some
people), then when you sort by artist(for ex.), how are you sure
you don't end up with 2 sub-trees sorted and play (a2, a1, b1, b2) when
the flattened view shows (a2, b1, a1, b2).

If we can figure out a correct way for the core to sort in flat mode,
even if the rest in tree, that would be nice.

I don't say that I have THE solution or A solution (that would be for a
separate mail than this one, that is just about the needs)

Best Regards,

PS: before starting the work on breaking playlist (again!), please merge
ECP-jetru's work on the SQL Media Library

Jean-Baptiste Kempf

More information about the vlc-devel mailing list