First off, with regards to the degration of quality over time. I recently implemented playlists, and before then, I didn't notice this problem. However, something happens over time where the load on the RIO starts increasing after about 5/8 songs are played on the playlist. An easier way than to reset the whole thing is to click on the shutdown button on the main menu (i think it's http://.../shutdown if you want to get to it directly). This will cause the program to reload.

In terms of fixing it, I found that debuggin it on the rio to be too much a pain in the ass, so I've ported the code over to x86 (wasn't too hard), and I'm using valgrind and some other tools to help find bugs. I think the biggest problem I have is that I implement a lot of spinlocks and I might have to change that to conditional mutexes. The problem will be fixed before the next major release (0.8). I also want to add some other cool features before then.

With regards to the playlist length, I just figured that it would be difficult to have someone scroll through 1000 entries on the rio. I can a separate web interface for picking songs and leave the rio with the 1000 entry limit, or do you think i should increase that limit as well? To change the limit, it's a simple change in the common.h header file.

It currently does not support m3u, but it would be easy to add. As people don't give me a lot of feedback on what the y want and what they dont want, it's hard for me to guage what should be added. So, if this is desired, then it shouldn't be hard.

Other than the 1000 song limit, you should still be able to select 'by title' and then play all. Random and Repeat also work. You can select the playlist link to see what's in the playlist, what's been played, and what's left to be played.

Anyhow, thanks for the suggestions/comments.
Reza

p.s. Anyone know if there is an i2c bus in the rio?