Rockbox mail archiveSubject: playlist ideas
From: stuart martin <wavey_at_wavey.org>
Date: Tue, 23 Apr 2002 14:31:39 -0000
Guys and girls,
Given the limited 2MB of RAM available to us, we have decided to keep the
playlist implementation mostly disk based rather than entirely memory
resident. Obviously, the more RAM we can leave to buffer audio data, the
better the performance and battery life of the device.
Accordingly, the memory resident part of the playlist will be simply the name
of a disk based m3u playlist, along with a list of indices into that file for
each track listed within. For pre-existing m3u playlists, this will be the
name of the file itself. For playlists built interactively by the user, a
special file will be created to contain the selected tracks.
Accessing the playlist will default to the order within which tracks appear
in the playlist on disk, but a user option to randomise this will be
available, which will merely randomise the list of indices. The user will be
able to move backwards or forwards through the playlist at will, and an
option to automatically restart the playlist once the end is reached will be
A common desire is disk-wide random play. One way of achieving this would be
to pre-scan the disk and place the names of all detected tracks inside our
special playlist file. Although this will be a slow process, it is likely to
be a rare occurrence (although at the user's control, should they update
their collection often). Once the scan is completed, random play can be
achieved as before.
Most user settings can be persisted on the disk in the otherwise unused pre-
fat sectors. These include volume, balance, etc., and can also include the
current playlist filename, the playlist indices, the current index, and even
the time of the current track to allow mid-track resume.
Any comments on the above are welcome, including wishlist entries.
The efforts of the team are snowballing now, and there's a real sense of
progress. Feel free to join us on irc to encourage us along or even to help
out with the implementation.
Received on 2002-04-23