Rockbox

  • Status Closed
  • Percent Complete
    100%
  • Task Type Patches
  • Category Playlists
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by combthins - 2004-01-31
Last edited by RaeNye - 2006-09-20

FS#1982 - Nested playlists

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.

Closed by  bagder
2007-05-19 15:26
Reason for closing:  Out of Date

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)

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.

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

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

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.

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

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.

huwsy commented on 2004-02-18 10:06

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.

Can you apply this patch to the released 2.2, would like to
start using this!

Will do, but it will be a couple of days until I can get it done.
I’ll post back when it’s available.

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

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing