1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
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.
|