Removed the ".py" suffixes from the boodler, boodle-mgr, and boodle-event scripts.
Used the modern set class, where available, to avoid a deprecation warning on Python 2.6.
Fixed, or worked around, a bug that prevented --testsound from working on Python 2.6.
Adjusted the package creation tool to skip .pyc files, and anything that looks like compiled code. It will now also skip redundant package requirements, and warn about any package which is required in two different ways.
Added a JACKB driver: the JACK audio system, using the Bio2Jack library. (I'm not convinced that Bio2Jack is the right way to go, which is why I didn't call this one "JACK". It produces deprecation warnings when building with the latest JACK library.)
Adjusted the listen
module to work on Windows, unless the
--stdinevents option is used. (That option requires fcntl
,
which is not available on Windows.)
Fixed the --default-driver option in setup.py, which broke at some point.
ALSA: fixed bug where the last moment of a soundscape would be cut short.
MACOSX: fixed bug where the first moment of a soundscape could skip a little.
Added a OSXAQ driver (based on code contributed by Aaron Griffith). This is recommended on MacOSX 10.5 and later. Also compatible with the iPhone.
Added a PULSE driver, for the PulseAudio sound system used in (Linux) Ubuntu 8.
Fixed trivial bugs that prevented Boodler from working on Python 2.3.5. (The "generate_pydoc" setup.py command still will not work, but you don't need to run that; the pydocs are all generated already.)
Complete redesign of the module system. Soundscapes are now downloaded and installed as packages (.boop files) from the Boodler web site. Packages can import other packages, with full versioning capability.
The Boodler sound library is divided up into packages. Agents deal with sounds as Python objects, not pathname strings.
You no longer need to mess around with environment variables to run Boodler.
Agents now provide metadata describing themselves and their command-line arguments. Arguments are parsed into appropriate types and classes automatically.
Many other new features, including channel properties, better channel events, saner stereo pan logic.
Added LAME MP3 driver.
Changed the license of the cboodle module (but not the rest of Boodler) to be usable as either GPL or LGPL. (Satisfies the conditions of LAME, which is a GPL library.)
Fixed setup script to compile OSS correctly on BSD.
Updated the ALSA driver to work with the modern Linux API. (Thanks to Jason McBrayer for testing.)
Lots of changes...
Changed the configure/build system to use a standard Python distutils script.
You can now build Boodler with multiple output drivers, and choose among them at runtime.
Added Shoutcast and Ogg Vorbis drivers (contributed by Aaron Griffith). Also a stdout driver.
MacOSX driver now allows you to choose a particular sound device, if you have more than one.
Improved skip-resistance in MacOSX version, by using a multiple sound
buffers. Added --define buffercount=count
option,
to control this.
Added MacOSX support. Tested with Python installed as an OSX framework; might also work with "Unix-style" Python configuration.
Added the stereo
module, and the ability to create a channel
at a particular stereo position. (No, you still can't change a
channel's stereo position as it plays. That's harder. Sorry.)
Added many sounds to the library, and many soundscapes to the effects directory.
Added the pwrain and owstorm modules, contributed by Peter and Owen Williams.
Added support for Unix domain sockets, as an alternative to network sockets.
Added the --integer
argument to configure.py
.
This uses integer computation in some places instead of floating-point
computation. Possibly useful on very old machines, or very tiny ones
(such as PDAs).
Removed some obsolete code from the OSS driver, which was failing on the Zaurus.
Added a command-line argument which is passed down to the sound interface unchanged. This allows interface-specific arguments.
Added the FILE interface, which writes raw sound output to a disk file instead of to the computer's sound hardware.
Added some agents to the listen module, which respond to standard remote-control button events. (See the serialwatch.py script on the "Accessories" page of the Boodler project web site.)
Added configuration script. Added support for ALSA and ESD sound interfaces.
Fixed bug in OSS interface which caused clicking on machines with only two kernel sound buffers.
Rearranged the event-listening system. Agents must now be of a particular subclass (EventAgent) in order to be posted to listen for events. The event triggers an agent.receive(event) method, instead of agent.run().
Initial release. Only supports OSS sound driver.