Thank you for the script (already did it myself though ).

Just like everyone to know I've gotten the display and buttons working. And I'm going to add volume control and start cleaning up the code next (hopefully before I take my short trip tommorrow).

Oh, and I got it reading the current database format. It happens that except for the kooky naming scheme for filenames, the database shares the same ideas of my player (that was an accident). Only some of the key names were different ("source" vs. "album").

Anyway that means you don't have to upload correctly named files to have the player work, you can use the files already on the player to try out squash. (Btw, I just assumed that a file ending in '0' might have meta info stored in a similar name, but with '1' on the end. I hope this is correct at least for recent versions).

One major issue needs to be resolved, I need to add a master list or else decipher the current player's master list (if it has one). Squash for a normal sized PC works pretty quickly without one -- and the collection would change too frequently to make a master list really useful. However on the empeg unit it's the opposite. So that's definately something that needs to be added. (Currently the player takes about a minute to start up with 3000 files).

Also, I'm having two curious problems. One is that when I run the original player from a shell script instead of directly, hijack refuses to start kftpd/khttpd. I assume it's because hijack has not loaded config.ini yet. Could it be possible to get hijack to load the ini file even without the player running?? I may not understand the dynamics completely.

The other issue is probably arm or my cross compiler. I keep getting llseek errors when using my ogg library (tremor). They are non fatal, but they do mean I don't know the length of ogg song files since the library cannot seek. I don't know where to start with that one. But right now it's a minor issue since the ogg files do play, you just don't know how long they are.

The last thing I'd like to mention is something I forgot to elaborate on earlier: the "smart picking" feature of squash. The deal is I don't like wasting my time with crafting playlists. So instead I just have squash record the number of successful plays versus the number of skips for each song. That gets turned into a rating and statistics are used to pick the next song based on the ratings' distribution. The only other thing I do is avoid picking the same songs frequently by having a count down timer. (That is a song must be "picked" by the statistics routine 10 times before it's actually picked and added to the playlist).

If you want to see what I mean, try out the linux console version of squash -- which has a much better interface at the moment than the empeg port.

Thanks for all the support guys.