Hello,
I've just completed a server (empeg side) for empload /emptool clients. As suggested by someone in this forum, I wrote the server by sniffing ethernet packets (via Ethereal), studying the commands in client_protocol.cpp from emptool and implementing the required responses. It correctly sends and receives fids( tunes, playlists, config.ini, etc), rebuilds /empeg/var/database and /empeg/var/playlists files, sends back progress reports, and responds to all known commands. It is designed to be a companion to rioplay, enabling tune and playlist downloading. It's almost finished, but there are a couple of things that I don't understand...

When a new fid (say 0x320) is created, e.g. a new tune, three files are created:
320 -- the mp3 data file
321 -- a text file that contains the tags for the tune (e.g. title, bitrate, etc)
32f -- a 28 byte file with 7 integers 1,14,0,0,0,0,0

What is the purpose of the ??f file? The real empeg player app does not store the file in the /drive0/fid directory. It might be an entry for the dynamic database...


Next question
During the empload <-> empeg startup negotiation, empload requests the dynamic database. I just send a null file and empload doesn't seem to mind. But I believe the dynamic database contains information about when and how many times a song was played. Can someone tell me where I can read this data off my empeg and the format of the dynamic database? As far as I can tell, emptool does not use the dynamic database, so there is no source code for this.

Last question.
Is there an easy way to determine the last fid (actually the highest) on a drive? Is it wrong to include extra 0xff at the end of the database file?


Thanks,

-Scott