TripleFat: SliMP3 Emulator

TripleFat is a software protocol emulator for the SliMP3 mp3 player stereo component. It lets you exercise a SliMP3 server without actually having the hardware player client. TripleFat is written in Java, so should run most places...

I ordered a SliMP3 player (from Slim Devices), but it will take two weeks to get here. I wanted to experiment with the server software, so I thought I would be able to whip up an emulator pretty fast. Well, it took two days (including typing in the fonts...), and here it is!

Screenshot of emulator display panel

The display panel implements the same fonts used on the actual device, including accepting custom characters. The display can also dim and turn on and off. The cursor (including blinking) is not implemented. There is a smaller display option (--small).

Screenshot of emulator keypad

The remote control layout mirrors the current custom remote. Other remote layouts and codes could be easily added. If you do it send me the code! The remote implements auto-repeat, and sends appropriate IR codes back to the server.

When you ``play'' a song, the emulator doesn't actually do anything with the data. That is, the emulator doesn't actually play music. It just pretends to consume it at some arbitrary rate that seems OK. Sometimes it ``plays'' faster than the server can send data; sometimes the server sends data faster than the player can consume it.

This program is (c) 2003 by Douglas S. J. De Couto, and is distributed under the GNU General Public License. If you don't like it, tough.

NEWS 1 Nov 2003: specify --port 3483 to work with newer versions of the server software.

Download latest version: triplefat-0.1.1.tar.gz

This version adds an improved remote control layout, and a small display option. Also, server and client network parameters are configurable from the command line. Try --help.

Old versions:

There's lots of interesting stuff to do, see the TODO file in the archive.

Patches are welcome!


24 May 2003 / Douglas S. J. De Couto / decouto @ lcs.mit.edu