Using the database

After running songdb.pl and disconnecting from USB you have to reboot your unit first (this will be improved in a future version).

The ID3 browser is treated as a directory filter, so you enable it by changing your "Show Files" setting to "ID3 database", either using the F2 quickscreen (recorders only) or in Menu->General Settings->File View->Show Files.

Development

Note: everything from this point on is rather out of date, please see DatabaseV2? for an up to date description, till we move everything to its proper wiki page.

Design principles

Limited RAM

Limited CPU

'Unlimited' disk space

Binary format (quick and easy to load and parse)

Tables use fixed-length fields, where field length is specified in file header

Tables are sorted by the index program, so Rockbox can use binary searching

Hence proposal is to build the binary tag database file 'offline', by running a software application on a connected PC. Whether the PC application generates the entire database each time, or uses a smart incremental approach, is not discussed here. The database format is optimised for READING not WRITING.

Use Cases

Must have

Get a list of artists (done)

Get a list of albums for a given artist (done)

Get a list of songs for a given album (done)

Search for artists, albums and songs by name (done)

Would like to have

Get a list of albums for a given genre

Get a list of albums released in a given year

Get a list of artists whose songs are in a given genre

Get a list of artists whose songs were released in a given year range

Get a list of songs in a given year range AND genre

Get a list of top-100 played songs (and other player-generated statistics)

User Interface

The UI will be very much like the current directory browser, only the directories are virtual. I.e. something like this: