My LIBMAD based jukebox project

Previously I had ported the mpg123 library to DOS, and used this for several jukebox projects. See the DOS source code for a MPG123 based jukebox page for more details.
The old project had several limitations, which I wanted to overcome, this led to a set of goals:-
Support a wider range of variable bit rate mp3 formats
Looking around I found another MP3 library, the "MPEG Audio Decoder" aka MAD! See the libmad project. It has much better VBR support, and better accuracy and speed.
Support for loss-less formats
I initially added support for WAVs, then I found out about FLAC, and use the flaclib to add support for FLAC files.
Support WSS sound cards under DOS
Wrote a WSS support package
Allow cross fading between tracks
Use a more asynchronous design, which places the decoded audio in a bigger buffer, allowing the next track to overlay the previous one.
Better buffering for less dropouts
The bigger buffer, with better control, provide few (if any) dropouts, even on a 200MHz Pentium class machine.
Network support & USB support (to allow external tracks to be used)
I ported the entire codebase to OpenBSD (and CygWin)
Improved user interface, previewed the tracks by an artist in a different window
Still under devolopment, but provides an easier to use front end.
Avoid having to edit/generate filelists containing which files are what
Now decodes ID3v1 tags in flac and mp3 files, and ID3v2 tags in mp3 files, using them for the artist and track names.

How to Build for DOS

DOS is still the primary target for this project. Although it runs under OpenBSD (and CygWin) this is for future projects, the current one still uses DOS. So most of the development and debugging has been done under DOS. Download the source code
Download and install DJGPP compiler and tools (It's a DOS port of the unix GCC compiler).
Unzip the source code into an folder called app.
I've used the flac-1.1.0 and libmad-0.15.1b libraries, unziped at the same level, so I have a directory with three folders, app, flac-1.1.0, libmad-0.15.1b in it.
From the app directory type
make -f make.dj
and it should all build!


Enjoy it, Roger.



Links

MP3 compressors compared
Lossless compression
My jukebox page

Mail me




Return to the home page.
Problems with the page ? Mail me.

This page was lasted updated on Saturday, 10-May-2008 19:01:11 PDT
243 visits (3 today, 17 this week, 59 this month, 243 this year)