AeonWave (3.3.0) stable; urgency=low
- Automatically convert an effect name like "effects/nature/birds" to a full
path name using APP_DATA_DIR when it is parsed to the buffer retrieving
function of the AeonWave class.
- Add a Param class which encapsulates a float variable and which can
be tied to a DSP parameter. Every time the param gets a new value
assigned the DSP parameter will be updated too.
- Fix a small problem with stopping an emitter which has a timed-gain
envelope defined with one of the time settings to "inf". They should now
finish properly after the emitter is requested to stop playing.
- Overhaul of the C++ classes to make them C++11 compliant.
- Remove support for an ancient way of handling config files.
- Prevent a crash when the state of the timed-gain filter or timed-pitch
effect is not set before it is registered the the sensor, audioframe or
AeonWave (3.2.3-1) stable; urgency=low
- Fix AAX_SHARED_DATA_DIR support for Linux.
- Add and improve the shared instruments and effects.
- There where no code changes.
AeonWave (3.2.3) stable; urgency=low
- Fix a missing offset(enum aaxType) error for the AeonWave class.
- Fix a problem with AAX_SHARED_DATA_DIR support for Windows.
AeonWave (3.2.2) stable; urgency=medium
- Add the AAX_PCM24S_PACKED format for 3-byte packed 24-bit samples.
AAX_PCM24S is used for 32-bit encoded 24-bit samples.
- Fix 24-bit packed PCM data handling.
- Fix a possible stream synchronization problem at the start of streams
that support ICY metadata song information.
AeonWave (3.2.1) stable; urgency=low
- Improve timing for some backends by using a regular interval method
instead of waiting just a number of milliseconds from the time of calling.
This moslty affected OSS and SDL backends.
- Move the mixing code from the callback to the backend-thread for the SDL
backend reducing the time spent in the callers code to a mere memcopy.
- Enable the SDL directsound backend for Windows XP.
- Rename the angular filter (which was lost in translation) to directional
filter. For backwards compatibility the angular name is still being
recognized internally and the library is binary compatible with previous
AeonWave (3.2.0) stable; urgency=high
- Add SDL audio support for backends AeonWave does not support natively.
This potentially opens up the option to use AeonWave on MacOS and BSD.
SDL 2.0.5 or later is required.
- Allow retrieving the data directory which AeonWave uses to store shared data
like preset files by calling aaxDriverGetSetup(cfg, AAX_SHARED_DATA_DIR)
- Allow defining AAX_ENVELOPE_FOLLOW or AAX_INVERSE_ENVELOPE_FOLLOW alongside
the waveform type to control the noise behavior when setting the state for
the bitcrusher filter. The default behavior is still a constant noise level.
- Fix a number of potential buffer overflows when enumerating the available
- Fix a number of one-off memory leaks.
AeonWave (3.1.2) stable; urgency=low
- Deliver on the promise that one can add a named, but empty, buffer in
case aaxBufferReadFromStream fails when calling buffer() from the
- Add the bitcrusher filter to simulate (communication line) sound degradation.
AeonWave (3.1.1) stable; urgency=medium
- Add the aaxPlaySoundLogo() function to play back the official sound
logo at the requested device.
- Add the option to mark an LFO based filter or effect 'stereo' for
- Fix volume glitches for dynamic-gain and timed-gain filters
- Account for the fact that pink-noise and brownian-noise both have a lowest
cut-off frequency of 100Hz. Which can be used to create continuous noise
instead of noise with possible volume glitches.
- Fix a case where LFO filters and/or effects could be initialized improperly
for use with audio-frames.
AeonWave (3.1.0) stable; urgency=high
- Explicitly allow GPL version 2 and GPL version 3 applications to use
- Add distance filter frequency response.
- Speed up waveform generation quite a bit.
- Turn the reverb effect into a true 3d effect.
- Add the option to register the reverb effect to audio-frames.
- Due to memory considerations they only support up to large room sizes,
any reflections with a larger delay will be ignored.
- Add the option to define audio-frames as indoor by setting AAX_POSITION
to AAX_INDOOR when calling aaxAudioFrameSetMode. It is possible to combine
AAX_INDOOR with AAX_RELATIVE or AAX_ABSOLUTE (the default when omitted).
This allows for indoor sound propagation where every audio-frame represents
a room or a section of a room. Reverb and frequency filters can be used
to simulate the properties of the room section defined by the audio-frame.
By specifying the audio-frame indoor, sound will not become directional until
it arrives at the scene of the listener.
- Add the option to define occlusion object parameters to the volume-filter
and reverb-effect, which will influence the sound properties of the direct
path of the sound.
- Harden the matrix multiplication code so it will be more correct in more
situations. A smaller update-rate than the refresh-rate could cause emitter
and parent-frame data to be out of sync. Also absolute positions are handled
- Fix a mistake in 32-bit matrix calculations caused by copying just one
row instead of all rows.
- Add support for a static parametric-equalizer within the <sound/> section
of AAXS files.
- Increase the http stream timeout value. The default was too low.
- Protect against de-registering an unregistered audio-frame or emitter.
AeonWave (3.0.11) stable; urgency=medium
- Fix a speed regression for matrix multiplications.
- Add the 'auto-sustain' option for filters and effects which calculates the sustain time by subtracting the logarithmic frequency value multiplied by the auto-sustain value from the original value.
AeonWave (3.0.10) stable; urgency=medium
- Considerably speed up envelope following calculation.
- Add the option to define the duration of the waveform generated by the sound section of an AAXS file. The minimum duration is 1 second.
- Allow pitch to be set as an attribute for frequency related parameters in filters and effects of AAXS files. The frequency then becomes pitch multiplied by the frequency defined in the sound section.
- Protect against unrecognized filter or effect type definitions in AAXS files.
- Fix audio device detection on Linux if Pulse Audio is inactive.
- Fix the case where filters in the sound section of AAXS files could only be 12db/oct.
AeonWave (3.0.9) stable; urgency=low
- Prevent an endless loop for mangled wav files.
- Waveforms, filters and effects in the sound section of an AAXS file now are processed in the order of appearance.
- Fix static frequency filter anomalies at the loop points of AAXS defined
AeonWave (3.0.8) stable; urgency=low
- Fix a problem for AAXS buffers added to AudioFrames.
- Fix detecting directories with a dot in the name as not being a remote host. e.g.: sound.dir/file.mp3
AeonWave (3.0.7) stable; urgency=low
- Fix a problem where large AAXS files where truncated.
- Reorganize the filter and effect cleanup for emitters, audio-frames and the
- Add support for a static frequency filter and a static distortion effect
within the <sound/> section.
AeonWave (3.0.6) stable; urgency=low
- Postpone initialization of AAXS filter and effect code for emitters to
make sure they will be set after initializing the mixer which could change
parameters like the refresh rate. As a bonus it is now possible to stream
different AAXS buffers one after the other.
- Reduce getaddrinfo timeout considerably by specifying ai_family = AF_INET
- Fix a bug where a suspended configuration could not be resumed.
AeonWave (3.0.5) stable; urgency=medium
- Add the aaxGetFrequencyFilterTypeByName function.
- Restructure the filter and effects code a bit to make it easier to remove
- Add function to the C++ support class to get the type, waveform_type,
frequency_filter_type and distance_model by name
AeonWave (3.0.4) stable; urgency=medium
- Add the option to repeat the timed-gain filter for a specified number of
times. This could be useful for repeating sounds like alarm and clock sounds.
If a timed-pitch effect is present for the same emitter then it will repeat
at the same moment the timed-gain filter restarts.
- Fix the buffer length when a file is specified for the sound section of an
AeonWave (3.0.3) stable; urgency=medium
- Fix playback support to mp3 files.
- Support WAV files with LIST ADTL, BEXT, CUE and SMPL tags
- Allow specifying a file attribute in the sound section of AAXS files.
- Allow processing, pitch, ratio and staticiy to be attributes instead of
sub-nodes of the XML waveform node for a shorter notation of the sound
- Fix a possible segmentation fault when a requested WAV file was not found.
AeonWave (3.0.2) stable; urgency=medium
- Add a function to add a buffer to the dsp class.
- Fix a bug in the matrix code which could create a segmentation fault.
AeonWave (3.0.1) stable; urgency=medium
AeonWave (3.0.0) stable; urgency=low
- Add a function to get the distance model by name.
- Use the proper distance model if type is DISTANCE for AAXS defined filters.
- Add functions to add a buffer object to the AeonWave and Frame classes.
- Add the option to retrieve the original AAXS file when calling
aaxBufferGetData when the buffer format is AAX_AAXS16S or AAX_AAXS24S.
- Fix a few bugs for unusual situations in the new streaming code.