Boodler: Installation

Boodler does not, as yet, have a formal installation procedure. The source archive (boodler.tar.gz) unpacks into a single directory tree; it is simplest to run Boodler from there.

Prerequisites

Boodler is written in Python; you must have a Python interpreter installed on your system in order to run it. (Python version 1.5.2 is required. Later versions of Python should work as well.)

Boodler can be built to use either the OSS sound driver interface, the ALSA sound driver interface, or the ESD (EsounD) sound server library. (On MacOSX, it can use the standard CoreAudio interface or the OSX port of ESD.) It can also write raw sound output to a file.

The contents of the archive

If you list the source directory, you will see the following arrangement:
./configure.py
A script which configures the Boodler source to compile on your machine.
./boodler.py
The Boodler program itself. This Python script starts up the Boodler engine.
./boomsg.py
A simple script for sending network events to Boodler.
./boodle/*.py
The boodle Python package. This contains several Python modules which are used by Boodler.
./cboodle/*.c
The C source for the boodle.cboodle module. This module performs the resampling, linear interpolation, and mixing operations which are at the heart of Boodler. It is written in C for efficiency.
./effects/*.py
The sound effects. Each Python module in this directory contains one or more Agent classes; each Agent class creates and controls an individual soundscape. When you start up Boodler, you select an Agent to run. (Note that this is a directory full of Python modules, but it is not a true Python package -- it lacks an __init__.py module.)
./doc/*.html
This documentation.
You will also need the Boodler sound library, which is available as a separate download (boodler-snd.tar.gz).

Setting up your environment

Download and uncompress the source archive and the sound library. (For example's sake, let us say that these are in /home/zarf/src/boodler and /home/zarf/lib/boodler-snd respectively.)

Boodler requires two environment variables to be set:

BOODLER_SOUND_PATH
The directory containing the Boodler sound library. (/home/zarf/lib/boodler-snd, for example.)
BOODLER_EFFECTS_PATH
The directory containing the Boodler sound effect modules. (/home/zarf/src/boodler/effects, for example.)
Either of these variables can also be given as a colon-separated list of directories, if you want to search in several places for either sounds or sound effects.

You will also need to have the boodle package in your Python path. The easiest way to do this is simply to cd to the source directory (/home/zarf/src/boodler) -- Python is always willing to load packages from the current directory. If you wish to run Boodler while in another directory, you can add the source directory to your PYTHONPATH.

Building Boodler

  1. Type python configure.py.

    (This tries to figure out the configuration of your system, and sets up Boodler to compile properly.)

  2. Type make.

    (This compiles the C source code for boodle.cboodle, and copies the resulting module library to the ./boodle directory.)

Testing Boodler out

Try this command:
python boodler.py play.OneSound pure/stereotest.aiff
You should hear a seven-note series of test tones -- first alternating between left and right channels, and then playing in both.

You can now begin using Boodler.

If it doesn't work


Return to Boodler docs index