Boodler: a programmable soundscape tool Version 1.4.0 Designed by Andrew Plotkin Copyright 2001 by Andrew Plotkin This program is distributed under the LGPL. See the LGPL document, or the above URL, for details. ----------------------------------------------- * WHAT IT IS Boodler is a tool for creating soundscapes -- continuous, infinitely varying streams of sound. Boodler is designed to run in the background on a computer, maintaining whatever sound environment you desire. Boodler is extensible, customizable, and modular. Each soundscape is a small piece of Python code -- typically less than a page. A soundscape can incorporate other soundscapes; it can combine other soundscapes, switch between them, fade them in and out. This package comes with many example soundscapes. You can use these, modify them, combine them to arbitrary levels of complexity, or write your own. Boodler is written in Python, with one module (cboodle) written in C. It was developed under Python 1.5.2; more recent Python versions 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. It can also write raw sound output to a file. Boodler does not come with any warranty of any sort whatsoever. * BOODLER ON HANDHELDS I have built this ipkg for the Sharp Zaurus, although it should work on other ARM PDAs as well. This is a very trimmed-down package. It does not include any of the Python source code, nor the Boodler documentation. (See the above URL to get all that.) It has only byte-compiled Python files (.pyc files) and loadable modules (.so files), which are installed in /usr/lib/python2.0/site-packages/boodle. This package also contains a few standard Python modules which are not included in Carl Worth's Python ipkg file. These are: aifc, wave, sunau, chunk, array, audioop. They are installed in /usr/lib/python2.0/site-packages. To run Boodler, you will need the Boodler sound library. This is *not* included in this ipkg, because it's about 11.6 megabytes! (Nearly 14 after installation.) Most handhelds don't have that much mainline storage, so if you want to run Boodler, you'd best invest in some compact flash, microdrive, or other memory extension whoop-de-do. The Zaurus likes compact flash and SD, so the Boodler script assumes that the sound library tree has been unpacked into /mnt/cf/boodler-snd or /mnt/card/boodler-snd. If you've got it somewhere else, edit /usr/bin/boodler and set BOODLER_SOUND_PATH appropriately. To install, shove the .ipk file on your machine and install it. (The Zaurus "Add/Remove Software" tool doesn't recognize the package, at least not for me. I'm still trying to figure out why not. In the meantime, the command "ipkg install boodler_#.#.#_arm.ipk" will work.) To run, try this: boodler crows.ParliamentOfCrows Boodler can do much more than that, of course. See the web documentation. * FLAWS See previous comment about the "Add/Remove" tool not recognizing my ipkg file. The command-line interface is all I've got right now. Sorry about that. To kill Boodler, hit the "OK" button in your Terminal app, to kill the shell -- Boodler will shut down as well. Boodler does not prevent your handheld from going to sleep. This makes it sort of useless as a long-term sound generator. SD and MMC are much slower than CF. If you try to run Boodler with the sounds on an SD/MMC wafer, you will probably hear skips in the sound as Boodler tries to load sound files. (SD is faster than MMC, but I still hear some skips, particularly if the Zaurus is running off the battery instead of the charging cradle.)