Rockbox

  • Status Closed
  • Percent Complete
    100%
  • Task Type Patches
  • Category
  • Assigned To No-one
  • Operating System iPod Nano
  • Severity Low
  • Priority Very Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by KevinMark - 2006-03-04
Last edited by jdgordon - 2007-08-02

FS#4771 - ipod playlist plugin

This plugin will read in the playlists from the iTunesDB file on an iPod. The user can then select a playlist to play. It writes a /.iPlay.m3u file and loads it into the current_playlist and starts playing.

plugin.[hc] have been modified to include playlist_create to support this plugin.

Closed by  jdgordon
2007-08-02 12:40
Reason for closing:  Out of Date

I was unable to build with the original MAX_TRACKS for the other iPods. Unfortunately, I had to lower it to 2000 tracks to get it to build. I will have to take another approach (probably a 2-pass approach through iTunesDB) to avoid hitting memory limits for iPods with more than 2000 tracks. Here’s the new iPlay.c with the 2000 track limit. It has still only been tested on a 4 GB nano.

I’ve also been unable to build this for any target other than the Nano.

Using a statically declared buffer doesn’t feel the right way to approach this. You can use the rb→plugin_get_audio_buffer() function which will return a pointer to the approximately 30MB audio buffer, and an integer telling you how big that buffer is. You could then either just load the itunesdb file into that buffer, and process it directly (without copying), or dynamically allocate your arrays in that buffer.

Here’s a new version using the audio buffer. It seems to build alright for other iPod targets but I have no way of testing it on those other targets.

You’ll still need the plugin.c and plugin.h patches above to add the playlist_create() call to the api. What’s the best way to get this added to the api, so I don’t have to worry about it anymore? Should I open another patch?

Any comments greatly appreciated!

(application/octet-stream)    iPlay.c (16.5 KiB)
Josh commented on 2006-03-16 20:32

Seems to be working fine on my 30GB 5G. ~3000 song library.

This may be interesting (if you haven’t already seen it)

http://libitunesdb.sourceforge.net/

This is a very promising plugin, but sadly it doesn’t seem too up to date anymore, the plugin.h patch returns several errors for me, I’m hoping there will be some more experienced programmer around to update it. Keep up the great work, don’t let this fantastic plugin freeze!

I have been using this plugin from some time. When i was checking the code changes,i could see that original idea was storing all the playlists in a directory iPlay, which is commented. Any issues with that approach ? Since i am using in that way without any problems.

Jon_ commented on 2006-08-07 07:04

Hello, i’m having some problem trying to patch that one patch the other one patches properly….

$ patch < iplay_plugin_h.patch
patching file plugin.h
Hunk #1 FAILED at 98.
Hunk #2 FAILED at 473.
2 out of 2 hunks FAILED – saving rejects to file plugin.h.rej

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing