Rockbox

Tasklist

FS#1982 - Nested playlists

Attached to Project: Rockbox
Opened by Barry McIntosh (combthins) - Saturday, 31 January 2004, 21:53 GMT
Last edited by Rani Hod (RaeNye) - Wednesday, 20 September 2006, 23:46 GMT
Task Type Patches
Category Playlists
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

This patch permits playlists to be nested within each
other. So a line in a .m3u file can itself be a .m3u file, in
which case the content of the nested file is loaded.
Nesting can be up to 8 levels deep.

For each nested playlist one playlist entry (from the
default 10000) is consumed for the playlist itself, so the
total playlist size is reduced only slightly by nesting.

Deep nesting adds a small overhead when the playlist and
music is loaded, as more playlist files have to be searched
to find the music file name, but this is not noticeable in
practice.
This task depends upon

Closed by  Daniel Stenberg (bagder)
Saturday, 19 May 2007, 15:26 GMT
Reason for closing:  Out of Date
Comment by Matt M (matneh) - Tuesday, 03 February 2004, 21:11 GMT

Cool!
Question: When shuffling is performed, does it act on the final
result, or does it shuffle the first level of playlists?

If the latter (shuffles the first level of playlists), this would
cover at least 2-3 open feature requests (such as 638101)
Comment by Barry McIntosh (combthins) - Tuesday, 03 February 2004, 21:38 GMT

No it doesn't change shuffling - it shuffles the whole playlist as
for a flat playlist. I hadn't seen that feature request.

However, it's only a small step on top of this patch to add this
sort of shuffle. The playlist storage clearly identifies
consecutive .mp3 entries from the same "leaf" playlist, so it
would be pretty easy to have an alternative shuffling algorithm
to keep them together in the loaded order, while shuffling
whole sets around.

There are still a couple of issues I am aware of in this, so it's
not quite ready for prime-time: Loading into the playlist
viewer goes wrong, and dynamically adding playlist does not
do nesting. I'll update the patch when I have more on this.
Comment by Matt M (matneh) - Tuesday, 03 February 2004, 22:38 GMT

Reading this thread on the mailing list leads me to believe it
may not be a small step, but if you keep track of the "leaf"
playlists, maybe it'll work:

http://rockbox.haxx.se/mail/archive/rockbox-archive-2003-
03/0358.shtml
Comment by Barry McIntosh (combthins) - Tuesday, 03 February 2004, 23:04 GMT

This patch has done the hard work - I won't be looking at
changing shuffling until I'm happy that I've got a solid
implementation of this patch - but I maintain that it would be
fairly straightforward on top of this. If you want to see how
the playlist is stored in my scheme see:
http://www.mcintoshfamily.pwp.blueyonder.co.
uk/rockbox/nestedplaylistdesign.htm
Comment by Matt M (matneh) - Tuesday, 03 February 2004, 23:19 GMT

I read your website and it looks like a good scheme! I'll try
testing it when I get a chance to setup my dev environment.
Comment by Barry McIntosh (combthins) - Thursday, 05 February 2004, 22:10 GMT

I've fixed the problem with loading large playlists in to the
playlist viewer. New patch file attached. Since it's a big
change to playlist.c I've added that separately as well. There
are also binaries for player and recorder on http://www.
mcintoshfamily.pwp.blueyonder.co.uk/rockbox
Comment by Barry McIntosh (combthins) - Tuesday, 17 February 2004, 17:24 GMT

Can now insert a nested playlist into a dynamic playlist.
Depth of playlists inserted in this way is limited to 3, to avoid
excessive use of stack and open files. New patch file
attached, based on tarball of 20040205.
Comment by Huw Smith (huwsy) - Wednesday, 18 February 2004, 10:06 GMT

Grt idea, some of this could be incorporated into the control
file / playlist, so that when multiple playlists are queued the
names of the playlists are added to the control file, and not
there contents.
Comment by Matt M (matneh) - Thursday, 25 March 2004, 16:27 GMT

Can you apply this patch to the released 2.2, would like to
start using this!
Comment by Barry McIntosh (combthins) - Thursday, 25 March 2004, 20:49 GMT

Will do, but it will be a couple of days until I can get it done.
I'll post back when it's available.
Comment by Barry McIntosh (combthins) - Friday, 26 March 2004, 22:03 GMT

Build of Rockbox 2.2 with this patch applied is available on
www.mcintoshfamily.pwp.blueyonder.co.uk/rockbox

Loading...