PearlLib and Tools

Because Open Source is good Karma.

Downloading all the song information from a Karma can take quite a while. It only makes sense to cache it on your computer and only re-read it when it changes. However, only the Windows-based Rio Media Manager has done this... until now.

The Open Rio cache standard defines file locations and formats for the song information cache. It is used by the caching implementation in PearlLib Layer II, and was developed by Cliff L. Biffle and Mike Schrag.

Open and Interoperable

The Open Rio cache standard is used by the latest release of Rio Music Manager Lite. This means that RMML can share cache files with PearlLib applications. This is a Good Thing™.

The Standard

The standard is quite simple and consists of two parts.

Directory Layout

Cache files are to be stored in a specific location on the user's computer.

On MacOS X, caches are stored in $HOME/Library/Application Support/Open Rio/pearl-$DEVICE_ID/.

On other platforms, caches are stored in $HOME/.openrio/pearl-$DEVICE_ID.

The $DEVICE_ID value is the Karma's unique serial number, which it provides in response to a Device Settings message. This allows multiple Karmas to sync against the same machine without collisions.

File Format

At this time, there is only one file specified within the cache directory, named fileinfo. This is a standard text file containing a dump of the File Info properties, as returned by the Get All File Info message to the device.

For the format of this information, see the property file documentation.

The file's last-modified date is set to the device_generation value provided by the Karma — essentially, the last-modified date of the Karma's internal database. If the cache file's last-modified date and the Karma's device_generation do not match, the cache is considered invalid and is rebuilt using information from the device.

Future Expansion

If the user chooses to save their Karma password on their computer, it should go into the password file in the cache directory. This is not part of the standard yet, as it's still in discussion.

Please read the disclaimer.

Links
About
What?
News
Check for updates and additions.
PearlLib
Downloads and docs for the Java library.
Tools
Karma Tools.
Documentation
The Pearl protocol dissected.
Author
More software from Cliff L. Biffle.
See Also
KarmaLib
Same goals; different code.
Rio Audio
Manufacturer of the Rio Karma.
Riovolution
Rio-owner community forums.