1.0.0
-----

Mixing Core
- Fixed the garbage-with-large-output-buffer problem:
  repeat last sample instead of interpolating with "dirty" data.
- Round samples if dithering is disabled.
- Improved noise shaping filter's precision.

Drivers | ALSA
- Handles suspend.

Music Providers | Vorbis
- Optionally supports using Tremor (fixed integer decoder).

Tools
- Added fsplay, a simple command line player.


1.0.0-rc1
---------

API
- Added FSSF_FLOAT.

API | IFusionSound
- Added GetDeviceDescription() to query information about the output device.

API | IFusionSoundBuffer
- Removed SetPan() and FSPLAY_PAN.
- Added SetPosition() to set the buffer position indicator for subsequent access or playback.
- Modified Lock() to return the amount of available space in frames and/or bytes. 
- Added FSPLAY_CYCLE that plays the buffer for one cycle, wrapping at the end.
- Added FSPLAY_REWIND that plays the buffer reversing sample order.

API | IFusionSoundStream
- Added Drop() to discard any pending input data, making Write() return as soon as possible.

API | IFusionSoundPlayback
- Added SetDirection() to set the direction of playback (FORWARD, BACKWARD).
- Changed maximum Volume/Pitch level to 64.0.

API | IFusionSoundMusicProvider
- Added FMCAPS_HALFRATE, meaning that the provider can decode samples at
  half original rate (this doesn't imply resampling).
- GetTrackDescription() can return information about the replay gain.
- FMBufferCallback returns FMBufferCallbackResult to allow aborting playback.
- Added GetStatus() to query the playback status.
- Added SetPlaybackFlags().

Core
- Added support for loadable device drivers.
- Added object CoreSoundDevice.

Playback Core
- Don't keep status based on notifications, but use a new function called
  fs_playback_get_status() to sychronously query the actual value. This fixes
  Wait() returning immediately when directly called after Start().

Mixing Core
- Supports mixing samples in reverse order (i.e. rewinding).
- Supports dithered conversion (with noise shaping) between __fsf and s16/u8.
- Improved performace of linear upsampling algorithm.
- Achieves higher precision during resampling.
- Reduced loss of bits during multiplication when "precision" is disabled. 
- Dowmix stereo to mono before converting to output format and round samples before conversion.
  
Drivers
- Added ALSA, OSS and Wave drivers.

Music Providers
- Added a music provider for playlists.
- Wave Provider can skip unknown chunks before data.

Runtime Options
- Added option "driver" to specify the driver to use.
- Added option "buffertime" to specify the output buffer duration.
- Added options "quiet", "[no-]debug", "[no-]trace", "[no-]banner".

Build Options
- Option "enable-accuracy" renamed "enable-precision".
- Added option "enable-linear-filter".
- Added option "enable-dithering".


0.9.25
------

API | IFusionSoundMusicProvider
- Added FMCAPS_RESAMPLE.

Core
- Create a new fusion world by default (this fixes the dfb-slave-but-fs-master problem).
- Open the output device in non-blocking mode.

Mixing Core
- Use cpp templates for mixing routines.
- Supports upsampling with linear interpolation.

Runtime Options
- Added option "session".


0.9.23
------

API
- Detached FusionSound versioning from DirectFB.
- Added FusionSoundCheckVersion().
- Added FusionSoundErrorFatal().
- Added FusionSoundUsageString().
- Added FSSF_S24 and FSSF_S32.
- Added macros extracting information from FSSampleFormat.

API | IFusionSoundMusicProvider
- Added support for multi-container formats: EnumTracks() iterates through available
  tracks, GetTrackDescription() retrieves information about the current track,
  GetTrackID() and SelectTrack() can be used to select a track for playback.
- Method PlayTo() renamed PlayToStream().
- Added GetBufferDescription() and PlayToBuffer().

Mixing Core
- Introduced __fsf, an internal sampleformat used for mixing that can be either a
  floating-point or a fixed-point number.
  
Music Providers
- Added Wave, Vorbis, MAD (MPEG Audio Decoder) and CD-DA music providers.
  
Runtime Options
- Initial support for runtime options.
- Added option "device" to specify the output device.
- Added options controlling the device configuration 
  ("samplerate", "sampleformat", "channels").
  
Build Options
- Added option "enable-ieee-float" to enable using floating-point arithmetics 
  from internal mixing routines.
- Added option "enable-accuracy", enables using 64bit multiplication on 32bit
  machines to achieve high precision when using fixed-point arithmentics.
- Added option "enable-module" to enable building modular version of FusionSound.

