From: Chandan K. [home] <ch...@to...> - 2003-02-25 17:23:23
|
I have been fiddling around with the intel mp3example code and with the latest changes fron Bernard, I can play most mp3 songs with as little as one or two skips. Some songs, however, have more skips but thats rare. I have started working on a simple shell to navigate filesystem and play mp3 files. It works quite decently and it can also log the songs played on to the hard-disk for future reference. Writing to the disk seems to be slow the first time, but after that there is not much perceptible delay. By creating directory heirarchy based on the album and artist tags and symbolic links to actual files, we can simulate the apple's firmware for navigating the songs. Playlists can be created by creating separate directories with symbolic links. There seems to be enough bandwidth for one screen update and handling couple of key strokes between each frame being decoded. This should be decent enough for most purposes. I also compiled the ffmpeg (http://ffmpeg.sf.net) decoder which mostly integer based (except for initial header parsing), but the performance is quite bad (80% real-time). So for now we have to stick with the intel's code which cannot be re-distributed. At this point I am interested in hearing feature requests for the firmware. I have a couple in mind: 1. Filesystem navigation 2. Playlist queuing 3. Tagging songs at runtime 4. Preserving runtime song information : order in which songs were played, play count for each song, number of minutes each song was played etc. can be very useful in managing and pruning huge song collection. 5. Resume across power-down 6. ID3 support I have also managed to display digital images (although at a much lower resolution) with some preprocessing with gimp (converting to 4 level grayscale). We can add this as an addition feature (photo album). Of course, no handheld is complete without atleast a few games (sokoban, tetris, bricks etc?) More advanced options would be: - bookmarking song positions - Firewire detach/attach without reboot (depends on the firewire driver code) - Automatic volume normalisation etc. Cheers, Chandan |