Monkey's Audio Source Code Readme
(last updated July 7, 2002)

Introduction

First off, just to be clear, you have to fully agree with the included license agreement before using / viewing any of the included materials. The big points are that you can't steal code or try to make money with it (without permission) and that you have to submit changes and improvements back to the Monkey's Audio project. With that out of the way, I'm hoping that by releasing the source code, we'll be able to work together to make Monkey's Audio better. Please direct any suggestions or improvements to the Monkey's Audio developer's forum or to me personally when appropriate. (email @ monkeysaudio.com) And thank you for taking the time to help.

Important Note

The Monkey's Audio format is not "finalized". In fact, the compression / decompression engines are continually being improved. This is what makes MAC fun to work on, and it's what makes progress possible. I realize that this can be a pain for 3rd party developers, but it's the only way to avoid stagnation. So, you can not hard code Monkey's Audio support and expect it to work with the newest versions of MAC forever. Either use a DLL or else accept that you'll have to re-link to MACLib once in a while.

Things that it'd be great if you worked on

1. It would be nice to have makefiles for gcc or any other compilers that people commonly use.

2. Pour through the code and look for bone-head maneuvers.

3. Submit any necessary changes for cross-platform compilation.

4. XMMS, Lame DLL, PocketPC, etc. plugins / implementations.

5. A console front-end that doesn't suck. (more options, etc.) Also, don't worry about maintaining compatibility with the current parameter passing scheme -- just use whatever makes sense.

Tips for building MACLib outside of Windows

1. in "Shared/All.h" do this:

- #define BUILD_CROSS_PLATFORM
- look through "Shared/All.h" and "Shared/NoWindows.h" to make sure all the defines are acceptable

2. You need to use NASM to build the assembly if you want it. (helps speed a lot) Check out "MacLib/Assembly/..." for more information.

Known non-Windows problems (help fixing them would be great)

2. The macros PUMP_MESSAGE_LOOP, MESSAGEBOX, and a few others don't work.

- All materials and programs copyrighted ©2000-2002 by Matthew T. Ashland -

- All rights reserved. -