Developer Guide

From Audacity Wiki
Revision as of 07:40, 27 August 2007 by Galeandrews (talk | contribs) (Added some MS links - will add more links later)
Jump to: navigation, search

Getting Audacity building on Linux is usually trouble-free because the right tools are there in the environment, or can be found and installed easily. The same isn't really true for Windows and the win/compile.txt file provided with the Audacity source code assumes you know quite a lot about how stuff works under the bonnet, and about Visual S0tudio.

Windows Set Up

Edit-hint: Please help us improve this text.

It can help to work in stages. It's probably not advisable to try to do all four steps in one session:

  • First get comfortable with Microsoft's visual studio, MSVC 2005, downloadable from Microsoft here . To develop in C/C++ for windows you also need a second download from the Microsoft site, which is the "Platform SDK", or if you are on Vista you'll need the new "Windows SDK". Download links:
Windows Server 2003 R2 Platform SDK for Windows 2000/XP/Server 2003:
Full Install
ISO Install
Web Install
Windows SDK for Windows XP/Server 2003/Vista:
ISO Install
Web Install
DVDs for purchase
There are instructions for using Visual C++ 2005 Express Edition with the Microsoft Platform SDK here. With MSVC set up you can write 'hello world' and similar small programs just to check things out, or use some of the examples that Microsoft provide.
  • Next get a recent version of wxWidgets. If you want to work with cutting edge code in Audacity, use wxWidgets 2.8.4. Follow the instructions in the wxWidgets documentation to get some of the wxWidgets samples to compile. wxWidgets has excellent documentation on its API. Time spent reading that documentation and trying things out is time well spent. There is one detail in setting up wxWidgets which is very important. It's setting up the $(WXWIN) environment variable. It's not set by the installer. It must be set correctly to your wxWidgets directory if you're to compile Audacity. wxWidgets has be compiled in many different modes, e.g. Unicode and ansi, debug and release, library or dll. If you want to work with the latest Audacity code, make sure that amongst the versions you compile is the unicode - debug - dll version.
  • Set up for CVS. For windows get tortoisecvs from sourceforge. This adds extra menu items to your file explorer windows. When you right click on a folder you get additional items in the menu. These are used for synchronising your local copy of the files with the files at Sourceforge. Any user can read the files at sourceforge via cvs, and that's all you need at this stage. If you have problems with accessing audacity CVS from windows send a message about it to the audacity developer list. If we can't help you sort it out then we can at least send you an up to date snapshot of the code which will get you started.

Don't try moving onto this next step until you have at least one sample wxWidgets program compiled and running!

  • If you have done all the steps above, this step should go smoothly. Open the project file for Audacity in MSVC, select the wx284Debug build of Audacity and click compile. Problems? Try cutting and pasting the error message into a google search box. Many of the compiler and linker error messages are fairly cryptic unless you've seen them before. Fortunately there's a lot of people out there who have, and there are messages in web searchable e-mail lists explaining what they mean and what to do.

Linux/Mac Set Up


More about Audacity


More about Digital Sound

There are articles on the web ranging from beginners guides on how sound is represented in a computer to research papers on DSP algorithms.