Message forwarded (with permission) from Nils Faerber:
Just in case you did not already know, Philips uses SQLite in their
portable MP3 players, at least in the HDD060!

I just have such a device to test here at hand. The player has an USB
interface an can be mounted as regular USB storage device. In a
subdirectory
        _system/media/audio/
there is a file
        MyDB
which is the SQLite database containing information about available
titles, albums, artists and such.

Nils goes on to say that he was going to return the player since it did no support Linux. But now that he has discovered the SQLite database, he is planning to add some songs using a windows system, use that to figure out exactly how the database works, and write a Linux interface.

Nils sent me a copy of the database.  The schema is attached in case
anybody is interested.
--
D. Richard Hipp -- [EMAIL PROTECTED] -- 704.948.4565


CREATE TABLE albumTable( iAlbumId INTEGER PRIMARY KEY, cAlbumTitle VARCHAR(100) ); CREATE TABLE artistTable( iArtistId INTEGER PRIMARY KEY, cArtistName VARCHAR(100) ); CREATE TABLE dirTable( iDirId INTEGER PRIMARY KEY, cDirName VARCHAR(260), iParentDirId INTEGER ); CREATE TABLE genreTable( iGenreId INTEGER PRIMARY KEY, cGenreName VARCHAR(50) ); CREATE TABLE playlistTable( iPlaylistId INTEGER PRIMARY KEY, cPlaylistName VARCHAR(100), cFileName VARCHAR(260), iDirId INTEGER ); CREATE TABLE playsongTable( iPlaysongId INTEGER PRIMARY KEY, iPlaylistId INTEGER, iOrderNr INTEGER, iSongId INTEGER ); CREATE TABLE songTable ( iSongId INTEGER PRIMARY KEY, cSongTitle VARCHAR(100), iArtistId INTEGER, iAlbumId INTEGER, iTrackNr INT8, iTrackLength INT16, iNrPlayed INT16, cFileName VARCHAR(260), iDirId INTEGER, iYear INT8, iGenreId INTEGER, iBitRate INTEGER, iSampleRate INTEGER, iFileSize INTEGER, iMediaType INTEGER ); CREATE INDEX album_cAlbumTitle ON albumTable (cAlbumTitle); CREATE INDEX artist_cArtistName ON artistTable (cArtistName); CREATE INDEX dir_cDirName ON dirTable (cDirName); CREATE INDEX dir_iParentDirId ON dirTable (iParentDirId); CREATE INDEX genre_cGenreName ON genreTable (cGenreName); CREATE INDEX playlist_cPlaylistName ON playlistTable (cPlaylistName); CREATE INDEX playsong_iOrderNr ON playsongTable (iOrderNr); CREATE INDEX playsong_iPlaylistId ON playsongTable (iPlaylistId); CREATE INDEX playsong_iSongId ON playsongTable (iSongId); CREATE INDEX song_cFileName ON songTable (cFileName); CREATE INDEX song_cSongTitle ON songTable (cSongTitle); CREATE INDEX song_iAlbumId ON songTable (iAlbumId); CREATE INDEX song_iArtistId ON songTable (iArtistId); CREATE INDEX song_iDirId ON songTable (iDirId); CREATE INDEX song_iGenre ON songTable (iGenreId); CREATE INDEX song_iTrackNr ON songTable (iTrackNr);


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to