Rockbox

Tasklist

FS#5179 - Playlist Catalog

Attached to Project: Rockbox
Opened by Shachar (Lamed) - Wednesday, 19 April 2006, 13:06 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 is the playlist catalog by Sebastian Henriksen that was introduced somewhere around h1x0 forum and sourceforge, updated to 19.4.06 cvs.


to install:
copy playlist_catalog.c, playlist_catalog.h to your rockbox/apps folder, and patch the playlist_catalog_new file
(using $ patch -p0 > playlist_catalog_new)
This task depends upon

Closed by  Linus Nielsen Feltzing (linusnielsen)
Tuesday, 18 July 2006, 13:56 GMT
Reason for closing:  Accepted
Comment by Shachar (Lamed) - Wednesday, 19 April 2006, 14:14 GMT
don't use playlist_catalog-new, it's older. (some patching problems)
Comment by Mike Schmitt (Falco98) - Wednesday, 10 May 2006, 17:54 GMT
i'm confused.. where can i find out exactly what "playlist catalog" *does*?
Comment by Hardeep Sidhu (hardeeps) - Saturday, 13 May 2006, 20:08 GMT
I've done a massive rewrite of this patch to fix most of the lingering issues. Changes include:

1. All playlists must now be in one directory. The default directory is /Playlists but this can be changed by creating the file /.rockbox/playlist_catalog_config and adding the line "dir:/my/playlist/path name". All related add to/remove from playlist catalog options have been removed from the gui.

2. Only the most recently modified playlist is remembered and placed at the top of the list. All other playlists are ordered based on the file tree configuration.

3. Removed most of the duplicated code when inserting directories (required modifications to playlist code as well)

4. All onplay functionality is available when "View playlists" is selected.

One change I didn't make was to move to the gui_synclist_* functions when browsing the playlist. This is mainly because the menu code is working reasonably well. However, this may still be changed. Aside from this, there's still a little cleanup and documentation that needs to be done. Once that's complete, this patch should be ready for inclusion into the builds (post 3.0 of course).

NOTE: When applying the patch you no longer need to manually copy the playlist_catalag.* files, they are now a part of the patch itself.
Comment by Hardeep Sidhu (hardeeps) - Saturday, 13 May 2006, 22:15 GMT
Patch updated to use gui_synclist_* to properly handle the context menu when viewing catalog. Now, if you select a playlist while viewing, it'll begin playback (shuffling if enabled). Context menu (to delete, rename, view, etc.) is now accessed using same keys as dir browser.
Comment by Hardeep Sidhu (hardeeps) - Monday, 15 May 2006, 21:09 GMT
Patch updated to latest CVS. Also cleaned up / documented the code. NOTE: The playlist catalog config file has been renamed to /.rockbox/playlist_catalog.config to keep it consistent with the other config files.
Comment by Hardeep Sidhu (hardeeps) - Tuesday, 30 May 2006, 16:04 GMT
Patch updated to latest CVS. Also renamed "View" to "View catalog" in WPS context menu as requested.
Comment by saa[b_r]ider (Rayyan Fairaq) - Friday, 23 June 2006, 17:22 GMT
Hi. I tried to apply playlist_catalog_4.diff to June 23's CVS but it wouldn't complete. Can we have an update?
Comment by Hardeep Sidhu (hardeeps) - Saturday, 24 June 2006, 16:31 GMT
It patches fine for me with latest CVS. I suspect it's a problem with your source tree.
Comment by Simon Menzel (Rincewind) - Friday, 14 July 2006, 14:01 GMT
I have a problem with this patch now, too.
I get the following compiler error:

playlist_catalog.c:236: error: too few arguments to function 'gui_synclist_init'

I don't know which cvs update caused this, because I stopped using patches for a while.
Comment by Simon Menzel (Rincewind) - Friday, 14 July 2006, 14:35 GMT
I managed to work around the error.
In playlist_catalog.c at line 236 replace
gui_synclist_init(&playlist_lists, playlist_callback_name, playlists);
with
gui_synclist_init(&playlist_lists, playlist_callback_name, playlists, false, 1);

I don't want to put up a patch myself, because I'm not sure if the fix is right (it's working for me, but not tested with remote etc.)

PS: I have a feature request for the playlist catalog:
Use the Dircache. Right now the disk has to spin up everytime I want to use the catalog.
Also there is a little grammar mistake. If no playlists exist then there is a splash message "playlists doesn't exist". It should say "don't"
Comment by Hardeep Sidhu (hardeeps) - Friday, 14 July 2006, 16:00 GMT
Updated patch to latest CVS.

The feature does use the dircache to retrieve filenames. There will be a disk access the first time it's called to determine the playlist catalog directory but there shouldn't be any afterwards (assuming the directory exists). In regards to the grammar error, that message is referring to the directory you specified in your playlist_catalog.config file (default is /Playlists). I'm guessing the error you saw was actually: "/Playlists doesn't exist".

Loading...