Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re[2]: playlist ideas
From: Eric Linenberg (elinenbe_at_umich.edu)
Date: 2002-04-23


Operation ides....

If anyone has used the empeg/riocar mp3 player, then you know it is
one streamlined player. (designed to be used while driving) Well,
there is no reason that this player could not be used in much the same
way.

Within each directory there are the files that you placed in there, but
the rockbox will also add a play all "file" (this would be at the top
of each directory)

If you select a file to play, then it will just play through the
current directory (as it already does), but if you select the play
all, then it will recurse through that directory and all of the
directories beneath it.

here is an example:

<artist>
    playall
    song1.mp3
    song2.mp3
    <album1>
        playall
        song3.mp3
        song4.mp3
        song5.mp3
    <album2>
        playall
        song6.mp3
        song7.mp3
        song8.mp3
        <bonusCD>
           playall
           song9.mp3
           song10.mp3
           song11.mp3

If you select song1 to play, then it will play song1 and song2 in the
artist directory. If you select playall in the artist directory, then
it will play the songs in order song1 - song11. If you select playall
in album1, then it would be the same as just playing song3. If you
select the playall in album2, then it will play song6-song11.

Of course you can also choose shuffle play with this too!

Another thing it implements is a GREAT way to just play music on the
fly. if you just press play on a song, then it will stop whatever it
is doing and play that song, BUT if you HOLD play down for 2 seconds,
then a little menu comes up that has 3 options: Insert, Append, and
Replace

Insert: Inserts the selected item immediately after the current song.
If you do this multiple times, it will insert the results after your
last insert. Sort of like queing up songs on a jukebox.

Append: Adds the selected item to the very end of the
currently-playing list of songs without interrupting playback.

Replace: Completely throws out what is playing and instantly
plays the selected item. Same as if you'd just selected the item
normally.

So, we will now go back to our directory tree that we had before and I
will do a working senario...

<artist>
    playall
    song1.mp3
    song2.mp3
    <album1>
        playall
        song3.mp3
        song4.mp3
        song5.mp3
    <album2>
        playall
        song6.mp3
        song7.mp3
        song8.mp3
        <bonusCD>
           playall
           song9.mp3
           song10.mp3
           song11.mp3

play the playall in the <bonusCD>

now our cue/playlist looks like this:

           song9.mp3
           song10.mp3
           song11.mp3

as song9 is playing I hold down play for 2 seconds on playall in
<album1> and append that onto the end

now our queue/playlist looks like this:

           song9.mp3
           song10.mp3
           song11.mp3
           song3.mp3
           song4.mp3
           song5.mp3

while song3 is playing then I hold down play for 2 seconds on
song1.mp3. I insert that song.

now our queue/playlist looks like this:

           song9.mp3
           song10.mp3
           song11.mp3
           song3.mp3
           song1.mp3
           song4.mp3
           song5.mp3

etc, etc, etc...

Lastly, we should be able to save the current queue/playlist that we have
created at anytime as a playlist. The current playmodes are bulky and
unncessary. Have a playlist editor to move songs around, but get rid
of the start playlist stuff, and the queue one song mode -- these can
all be taken care of with this method. This will REALLY streamline
the player. You have to try it out to see just how good it really
is...

Any questions, complaints, flames, praises?

-eric

MOwc> A couple of brief thoughts on this...

MOwc> 1 - Would it be possible to build a "delta" playlist of some sort? I would
MOwc> hate to have to re-scan 15gb worth of files when I added one new track to
MOwc> the machine. I'm not sure how this could be accomplished, though it seems
MOwc> that since the fs is Fat32 (is that right?), you could set the archive bit
MOwc> to "off" when the playlist has been built, and just scan for files with the
MOwc> archive bit set to "on" when adding to, but not rebuilding, the playlist.

MOwc> 2 - Do you have any ideas about how to index the files within the
MOwc> memory-resident portion of the playlist? This is a great idea, I think, if
MOwc> it can be made so the HDD doesn't have to spin up every time a song changes
MOwc> just to read the playlist. ('Course, it has to spin up to read the track
MOwc> anyway, doesn't it...? Hmmm...)

MOwc> 3 - Regardless of playlists, one of the most frustrating things about
MOwc> playback with the Archos is the lack of directory-crawling when playing
MOwc> back w/o a playlist. Fixing this would be a great boon, I think. Just
MOwc> simple sequential directory traversal would be heavenly...

MOwc> I hope I haven't duplicated things that have already been articulated.

MOwc> Thanks,
MOwc> Matt

                                                                                                                     
MOwc> "stuart martin"
MOwc> <wavey_at_wavey.org To: <rockbox_at_cool.haxx.se>
MOwc> > cc:
MOwc> Sent by: Subject: playlist ideas
MOwc> owner-rockbox_at_co
MOwc> ol.haxx.se
                                                                                                                     
                                                                                                                     
MOwc> 04/23/2002 10:31
MOwc> AM
MOwc> Please respond
MOwc> to rockbox
                                                                                                                     
                                                                                                                     

MOwc> Guys and girls,

MOwc> Given the limited 2MB of RAM available to us, we have decided to keep the
MOwc> playlist implementation mostly disk based rather than entirely memory
MOwc> resident. Obviously, the more RAM we can leave to buffer audio data, the
MOwc> better the performance and battery life of the device.

MOwc> Accordingly, the memory resident part of the playlist will be simply the
MOwc> name
MOwc> of a disk based m3u playlist, along with a list of indices into that file
MOwc> for
MOwc> each track listed within. For pre-existing m3u playlists, this will be the
MOwc> name of the file itself. For playlists built interactively by the user, a
MOwc> special file will be created to contain the selected tracks.

MOwc> Accessing the playlist will default to the order within which tracks appear

MOwc> in the playlist on disk, but a user option to randomise this will be
MOwc> available, which will merely randomise the list of indices. The user will
MOwc> be
MOwc> able to move backwards or forwards through the playlist at will, and an
MOwc> option to automatically restart the playlist once the end is reached will
MOwc> be
MOwc> available.

MOwc> A common desire is disk-wide random play. One way of achieving this would
MOwc> be
MOwc> to pre-scan the disk and place the names of all detected tracks inside our
MOwc> special playlist file. Although this will be a slow process, it is likely
MOwc> to
MOwc> be a rare occurrence (although at the user's control, should they update
MOwc> their collection often). Once the scan is completed, random play can be
MOwc> achieved as before.

MOwc> Most user settings can be persisted on the disk in the otherwise unused
MOwc> pre-
MOwc> fat sectors. These include volume, balance, etc., and can also include the
MOwc> current playlist filename, the playlist indices, the current index, and
MOwc> even
MOwc> the time of the current track to allow mid-track resume.

MOwc> Any comments on the above are welcome, including wishlist entries.

MOwc> The efforts of the team are snowballing now, and there's a real sense of
MOwc> progress. Feel free to join us on irc to encourage us along or even to help

MOwc> out with the implementation.

MOwc> cheers,
MOwc> wavey



Page was last modified "Jan 10 2012" The Rockbox Crew
aaa