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.
MP3 compressors compared
Other band/festival pictures
Copyright © 1998..2008 Roger Walker. All rights reserved.
This work is licenced under a Creative Commons Licence.
This page was lasted updated on Friday, 04-Nov-2011 08:00:24 GMT