Rockbox Technical Forums

Third Party => Other Utilities => Topic started by: csavery on May 29, 2010, 10:47:29 AM

Title: Rockbox sync to Songbird FolderSync patch
Post by: csavery on May 29, 2010, 10:47:29 AM
I've created a patch for the Songbird FolderSync addon that supports sync-back of play counts and ratings. This adds a new rockbox.js file that reads the tcd database and a couple very small mods to the current FolderSync add-on to call my code at the end of sync.

UPDATE: This patch has now been integrated into FolderSync 2.5.0 which can be updated as normal in Songbird.

To use, backup current foldersync extension files, download and apply patch.
Copy rockbox.js in with the other foldersync/chrome/content files.
Then use about:config in Songbird to set a key-value for "extensions.FolderSync.RockboxPath" that indicates where rockbox is located. eg. for me it's /media/FUZE/.rockbox/
This is an initial test release and does not yet have a options dialog interface to set the path.

I've tested it on Linux Songbird but would be interested if Windows users could test and report back any issues. Currently it updates play count only if > current SB value and ratings only if > 0. This prevents sync of unplayed/unrated files. I'd be interested in any ideas about how it should be done though.

File uploaded here: sb-rb-patch1.zip (http://www.sendspace.com/file/5bnme4)

UPDATED: I updated the rockbox.js file. Now it will auto-detect the /.rockbox folder if it's in the tree of the destination sync folder (usually is). Also this version now SUMS the play count into Songbird and clears the count in Rockbox. This is because Rockbox never loads in the id3 tag for play count or rating so it's useless to sync back to Songbird. This fixes that and allows having multiple players that all contribute to a total (master) play count in Songbird.

UPDATE #2: two bug fixes - now should handle unicode chars properly and skips rockbox records marked as deleted.

Get new JS file here: rockbox.js (http://www.sendspace.com/file/afuwr8)
(you need both files above to get a working sync).