2006.02.13

  1.9.4 released.

  Modified full-release.sh to account for the change to two doxygen
  distributions.  (Matt Campbell)

  Removed erroneous "1.9.4 released." entry.  (Matt Campbell)

  Modified doxygen-dist.sh to put archives where full-release.sh expects
  to find them.  (Matt Campbell)

2006.02.12

  full-release.sh now exports CVSROOT.  (Matt Campbell)

  Added authors.txt to list of docs in vc6/dist.py.  (Matt Campbell)

  Fixed make-release-win32.sh to run scons instead of make under
  bindings/java.  (Matt Campbell)

  Changed hard-coded path to XPCOM root in bindings/xpcom/SConstruct.
  Now I suppose Chad won't be able to do the next release without changing
  it again.  (Matt Campbell)

  Replaced wxPlayer.rc with a much simpler version based on the MDI
  example in wxWidgets 2.6.  Dropped resource.h.  (Matt Campbell)

  wxPlayer is now linked with wxWidgets 2.6 in the VC6 build system.
  Fixed MDI parent frames to specify a size, since they otherwise end
  up with zero size on Win32.  (Matt Campbell)

  wxPlayer accessibility improvements:  Controls are always created
  in an order that's logical to the user, since (at least on Win32)
  the order of control creation determines the tabbing order.  Also,
  for controls with labels, the label is now created before the control.
  TODO:  Make tab traversal work in MDI child windows.  (Matt Campbell)

  Updated the file version number in src/audiere.rc.  (Matt Campbell)

  Modified bindings/python/setup.py so it only links with libstdc++
  on POSIX.  *Matt Campbell)

2005.04.21

  Modified DSAudioDevice::update so it doesn't hold the device's lock
  while sleeping.  As a result, streams and buffers open much faster when
  using DirectSound.  (Matt Campbell)

2004.11.30

  Added bindings to wxWidgets.  (Emanuel Dejanu)

2004.11.27

  Added VC7 build system.

  wxPlayer now compiles against unicode wxWidgets.  (Emanuel Dejanu)

  Split Doxygen documentation into one for users and one for developers.

2004.11.07

  Replaced mpegsound with a stand-alone version of the MPEG audio decoder
  from ffmpeg's libavcodec library. (Matt Campbell)

  Fixed a minor problem with seeking in DirectSound streams. (Matt
  Campbell)

2004.08.16

  Fixed a null pointer crash when loading an invalid MP3 file.

2004.07.29

  Added getRepeat() and setRepeat() on MIDIStream.

  MIDI seeking improvements.

2004.07.27

  MP3 seeking and framecounting fixes.  (Andrew Gatt)

2004.07.21

  Added MIDI support through the MCI subsystem on Win32 and Cygwin.
  (Chad Austin)

2004.07.06

  Added frame seeking support for MP3 files.  (Andrew Gatt)

2004.04.29

  Fix a bug in CondVar::wait that causes 100% CPU usage on posix
  systems.  (Richard Schaaf)

2004.04.09

  Moved callback system to be processed within another thread.  This
  allows you to delete the originating stream from the callback.

  Added support for CD audio support on Linux via libcdaudio.  (Chad Austin
  and Richard Schaaf)

2004.04.08

  Added callback system for stream stopped events.  (Richard Schaaf
  and Chad Austin)

  Made CDDevice methods use __stdcall on Windows.

  Added operator== and operator!= to RefPtr.  This could fix some
  potential bugs.

2004.04.05

  Added CD audio support through the CDDevice interface.  (Chad Austin
  and Richard Schaaf)

2004.02.02

  Fixed: Speex decoder never actually released its file handle.

2004.01.19

  Fix an mpegsound crash when loading corrupt MP3s (or text files).

  Use _beginthreadex instead of CreateThread.

  Added a button to see the format of streams and sounds in wxPlayer.

  Rewrote the Resampler class to use DUMB's cubic interpolation
  resampler.  (Matt Campbell)

2004.01.17

  Dramatically reduced the latency of the OSS device.  (Matt Campbell)

2004.01.12

  Added MP2 to the list of supported file types, since mpegsound can
  play them.

2004.01.10

  Added Speex support.

2003.11.08

  Fixed: Some MP3 files were returning incorrect sample format
  information, so they sounded wrong.

2003.09.24

  Added pitchshift to the Python bindings.  (Jason Chu)

2003.09.22

  Added support for reading metadata tags from Ogg Vorbis files.
  Interface designed with help from Brian Robb and Andy Friesen.

  Added ID3v1 and ID3v1.1 support.  (Original code written by Brian
  Robb.)

2003.09.04

  Opens MP3 files with ID3v2 tags with the MP3 decoder, not the MOD
  decoder.  The MOD decoder seems to be the most lenient, so it has
  been placed at the end of the autodetect list, behind MP3.

2003.07.17

  Made thread priority work when using pthreads.

2003.07.15

  1.9.3 released.

2003.07.01

  The configure script tries to link a small wxWindows application
  rather than trusting the existence of wx-config in order to find out
  if wxWindows exists.

  Made the FLAC decoder use libFLAC instead of libFLAC++.  This makes
  it easier to compile on platforms with differing C++ ABIs, such as
  IRIX (MIPSPro CC vs. GNU g++).

2003.06.29

  Removed the VC7 build system.  It's out of date, nobody uses it, and
  they could just open the VC6 one in VC7 anyway.

  Added support for custom loop points via the LoopPointSource interface.

2003.06.21

  SoundEffect objects in SINGLE mode no longer stream from the sample
  source.

2003.06.16

  Added AIFF support.

2003.06.15

  If a stream is set to repeat, then MOD loop points are honored.
  Otherwise, a MOD loop point causes the stream to stop.

  Added setRepeat() and getRepeat() to the SampleSource interface.
  This architecture change is required in order to support sample
  sources with non-standard looping functionality, such as loop points
  within MOD or AIFF files.

  Gave wxPlayer a crappy icon.  A better one would be welcome.  :)

2003.06.13

  Fixed some unaligned reads in the MP3 decoder code, which caused
  Audiere on SGI/IRIX to crash.

2003.06.12

  Replaced MikMod with an actively-maintained MOD decoding engine:
    DUMB (http://dumb.sf.net) Overall, the change is for the better,
    but there are a few important changes to be noted:
      - fixed a crash in certain Impulse Tracker files
      - mod looping now works correctly
      - some previously-unsupported effects now work
      - opening a mod stream now takes significantly longer, since
        DUMB builds up an internal seek table, which is currently
        unused
      - playing mod files now takes roughly five times more CPU time
        than it used to
      - DUMB works on big-endian architectures (such as MIPS (sgi) and
        PowerPC (mac)), where MikMod did not
      - DUMB tries to match the exact behavior of the "official"
        trackers (that is, Impulse Tracker, Scream Tracker 3, and Fast
        Tracker), so some mods that sounded fine in ModPlug Tracker or
        Winamp (MikMod) may sound strange.  For example, some of the
        Amstrocity remixes of Squaresoft songs have distortion caused
        by volume range clipping when played in DUMB.

2003.06.02

  Fixed some edge cases involving small sounds, DirectSound streams,
  and the repeating flag.

  Added min_buffer_length device parameter to DirectSound device to
  prevent static in very small sounds.

2003.06.01

  Fixed short bursts of periodic static while decoding MP3s.  it
  appears to be a result of the Visual C++ optimizer interacting with
  the MP3 decoder code.  (I can't claim that is an optimization bug
  yet...  there could be some invalid aliasing going on in the code.)

2003.05.30

  Fixed bug where resetting an MP3 input stream would emit a short
  burst of static.

  Fixed static between repeats in repeatable streams (thanks
  valgrind!)

  Fixed an exit crash on some systems by adding a CoUninitialize call
  to the DirectSound device destructor.

2003.05.27

  You can now specify what format you are loading for efficiency reasons.

2003.05.25

  Fixed a bug in the DirectSound streaming code where you would hear
  the beginning of some sounds before they actually stopped.

2003.04.22

  Added getName() method to AudioDevice.

2003.03.11

  You can now pass smart pointers straight into API calls, for example:
    AudioDevicePtr device = OpenDevice();
    OutputStreamPtr sound = OpenSound(device, "blah.wav");
    sound->play();

2003.02.17

  Added support for MemoryFile objects.

2003.01.27

  Removed support for OpenAL because it was causing compile issues on
  systems with different and incompatible versions of OpenAL.

2003.01.09

  No longer use the MTM or STM mikmod loaders because they crash on
  certain wav files.

2003.01.06

  1.9.2 Release

2003.01.05

  Many general improvements to wxPlayer.

2003.01.04

  Use __declspec instead of def files for mingw compatiblity.

2002.12.30
  build the winmm audio device in Cygwin if it's available
  build the DirectSound audio device in Cygwin if it's available
  greatly improved linearity of the volume property in the DirectSound
    device (Mik Popov)

2002.12.21

  add support for audio device enumeration
  enable setting the GLOBAL_FOCUS bit on DS surfaces via the global=
    device parameter
  enable choosing nonstandard DirectSound devices via the device_guid=
    device parameter
  drastic performance increase when using MULTIPLE sound effects

2002.12.20

  implement volume, panning, and pitch shift on SoundEffect objects
  improved latency of SGI audio device

2002.10.21

  disable Ogg or FLAC if 'configure' can't find them.

2002.10.12

  1.9.1 release

2002.10.11

  added GetSupportedFileFormats for file format enumeration
  added audiere-config script which provides version information and
    external library dependencies
  finer synchronization granularity on DirectSound output streams for
    lower-latency OutputStream calls
  increase priority of Audiere update thread on all platforms but
    Win9x, which deadlocks
  switched from mp3blaster's mpegsound code to splay's mpegsound
  read 10 MP3 frames for smoother playback on corrupt (?) files
  added ClassPtr convenience typedefs so people can use them instead
    of RefPtr<Class>

2002.10.05

  the configure script outputs the URLs for required libraries if it can't
    find them

2002.10.04

  use the mpegsound library instead of mpglib because it sounds and
    works a lot better
  FLAC support, thanks to Jacky Chong and Chad  :)

2002.10.02

  added MP3 support again via mpglib (mpg123), thanks to Jacky Chong.
    He had to hack the mpglib code a lot to get it to work.  :)

2002.09.20

  added the SoundEffect convenience class for simple sound playback
  updated wxPlayer with SoundEffect stuff
  added menu item to close wxPlayer so you can close child windows in wxGTK
  added pitch shifting to the OutputStream interface

2002.09.19

  added square wave generation
  added white noise generation
  added pink noise generation

2002.09.07

  1.9.0 release

2002.09.06

  updated Java bindings
  upgraded to Ogg Vorbis 1.0
  don't force usage of DirectSound 8...  use whatever DirectSound is available

2002.09.05

  updated XPCOM bindings
  updated Python bindings
  better version string from audiere::GetVersion()

2002.09.04

  support for seeking within Ogg Vorbis input streams

2002.09.03

  major performance improvement in DSOutputStream::isPlaying
  made the Ogg Vorbis decoder work properly on big-endian architectures
  added a glossary

2002.09.02

  converted the Mixer into a MixerDevice framework, which lets many
    similar output devices share most of their code, and reduces the
    size of the DLL
  SampleBuffer object implementation...  you can load a sound once and
    play it multiple times

2002.09.01

  added native support for buffered audio in the DirectSound
    driver...  it works really well
  better seeking support in the DirectSound audio device

2002.08.23

  add support for seeking within WAV files

2002.08.22

  added SCons build system for MIPSPro on IRIX: does not support any
    other compilers, nor does it build mikmod support

2002.08.21

  make interfaces use __stdcall on Windows so they are compliant with
    COM (and thus, Delphi)


2002.08.20

  started renaming internal variables and arguments to use a better
    nomenclature: sample, channel, and frame (just like SGI AL)
  added support for building with MIPSPro on IRIX

2002.08.19

  SGI AL output support
  support for big-endian architectures

2002.08.18

  completely new wxPlayer: it uses an MDI window for each device, and
    each sound has its own child window.  it also works on UNIX if
    wxWindows is installed

2002.08.17

  created a WinMM audio device
  refcounted the Audiere interfaces/objects
  fixed bug on Linux where the more streams were playing, the lower
    the overall volume would be

2002.08.09

  implemented the REAL fix for the DirectSound stream-repeating
    bug...  the DirectSound device is a lot more robust with this fix

2002.08.07

  added support for buffered audio

2002.08.06

  Support low-pass filters on .it files again (enabled DMODE_RESONANCE
    in mikmod)

2002.08.05

  added stereo panning support again

2002.08.01

  completely new API, with AudioDevice, OutputStream, SampleSource, File,
    Sound...
  switched volume to normalized floats instead of [0, 255]

2002.07.29

  added a tone generator sample source

2002.07.28

  converted 'bits per sample' into an enum of possible sample formats

2002.06.10

  1.0.4 release

2002.06.04

  mikmod fix so it compiles on Debian

2002.05.19

  wav loader was returning an incorrect number of samples...  I think
    this fixes the awful sound repeating bug!

2002.05.17

  correct timing in null output driver
  added test program for verifying basic audiere functionality

2002.05.13

  new autoconf/automake build

2002.05.10

  major source tree restructuring
  added libogg and libvorbis to source tree for windows build
  completely new VC6 build system

2002.05.08

  compiles in IRIX (no mikmod and no audio output)
  gcc 3 on Linux fixes
  --enable-debug configuration option
  fix hang if output is inaccessible

2002.04.22

  builds in gcc 3

2002.03.14

  added Doxygen support

2002.03.11

  fixed noisy output in Linux

2002.01.24

  removed Acoustique, moved decoder architecture into Audiere itself
  switched library completely to LGPL
  fixed isPlaying() in OSS output driver

2002.01.17

  removed MP3 support

2002.01.16

  got NT4 support working again
  removed DLL output driver

2002.01.15

  removed null output driver from default list (it has to be selected explicitly)

2002.01.14

  major internal restructuring
  fixed complete hang on context creation in Win9x

2001.01.13

  support building without DX8

2001.12.19

  corrected feof semantics in MOD loader

2001.12.06

  Linux/OSS works (I think)!  Yay!
  more internal architecture refactoring


2001.12.04

  Created C++ interface to Audiere (See bottom of audiere.h)


2001.11.28

  AdrCreateContext takes an attributes object now (BROKE SOURCE AND BINARY COMPATIBILITY)


2001.11.15

  various architecture changes


2001.11.01

  made MP3 support optional in UNIX build


2001.10.26

  uses Air's new mikmod
  added GNU autoconf/automake support
  updated to MAD 0.14.1b


2001.10.25

  removed nbase


2001.09.25

  removed panning


2001.08.05

  1.02 - minor release

  fixed crasher on failed mod loads
  rewrote DS8 and DS3 output drivers to be more efficient, have
  - fewer audible artifacts, and reduce latency (to effectively zero)


2001.07.26
  Java bindings
  fixed DirectSound 3 driver (works on NT4, yay!)
  made contexts refcounted (no longer need to destroy streams before contexts)
  reset output driver with input driver to eliminate reset latency
  increased default buffer size to half of a second


2001.07.23
  no longer recreate the resampling engine every MPEG audio frame


2001.07.21
  no longer simply halt reading when we encounter corrupt MP3 frames


2001.07.16

  1.01 - Bugfix Release


2001.07.15
  updated version string (oops!)
  fixed volume ramping to be linear instead of logarithmic
  fixed crash on loading certain MODs
  added Python bindings
  increased priority of decoder thread to decrease skipping
  added anonymous CVS document
  fixed crash in Mozilla binding
  mozilla: Audiere contexts are no longer XPCOM services


2001.07.13

  1.0 - Initial Release
