AeonWave (2.7.0) stable; urgency=low
- Add aeonwave.hpp, a header file only AeonWave C++ abstraction API.
- Add AAX_RELEASE_MODE to disable most of the error checking.
- Add aaxDriverGetErrorNo() and assign errors to the specific driver handle.
- Prevent aaxDriver close from generating an error if handle == 0.0
- Prevent a segmentation fault for invalidated remote streaming hosts.
- Prevent a segmentation fault when handle == 0 for aaxAudioFrameDestroy, aaxEmitterAddBuffer and aaxEmitterRemoveBuffer.
AeonWave (2.6.1) stable; urgency=low
- Better handling of 'default' for ALSA
- Fix a few border case tests for mixer configuration.
- Make sure testing for 'AAX_frequency_filter' also works even though
'AAX_frequency_filter_1.1' is defined.
- Fix a mostly unnoticeable mistake for envelope following distortion filter.
AeonWave (2.6.0) stable; urgency=low
- Rewrote the loop-point and buffer switching code for better loop handling.
- Don't use hardware volume when the number of sub-devices exceeds 1 for ALSA.
- Add a forward-gain parameter to the Angular Filter for doughnut shaped sound distribution.
- A major overhaul of the frequency filter
- Speed up the filter execution time.
- Add support for 6db/oct, 24dB/oct, 36dB/oct and 48dB/oct filtering,
12dB/oct is the default.
- Add support for both Butterworth and Bessel filter types,
Butterworth is the default.
- Allow the parametric equalizer parameters to be defined more flexible by supporting LF-LF-HF type setups in addition to HF-LF-HF.
- Add the option to define a parametric equalizer at every audio-frame which will be applied after all filters and effects (including the frequency filter).
- Speed improvements for the graphic and parametric equalizers.
- Add a surround sound crossover filter for 5.1 and 7.1 systems defined at 80Hz and 24dB/oct.
- HRTF improvements.
- Improve (white)noise waveform frequency spectrum spread.
- Fix a segmentation fault for audio-frame-registered emitters that use delay effects.
AeonWave (2.5.3, and 2.5.2) stable; urgency=low
- Decrease memory consumption considerably for loop-back capture and
slightly for streaming sensors. (2.5.3)
- Fix too slow time-based effects response times. (2.5.2)
AeonWave (2.5.1) stable; urgency=low
- Better support for 'Generic Software' and 'Generic Hardware' for Windows
OpenAL emulation.
- Fix stream length reporting on 32-bit architectures.
- Lower the socket receive buffer to minimize stream delays.
- Set the network timeout to at least 0.5 seconds.
- Fix a rare crash when destroying the sensor.
AeonWave (2.5.0) stable; urgency=low
- Changed the threading model from one thread per mixer-registered
audio-frame to a load-balancing thread-pool model. This slightly increases
the work the CPU has to do but divides the wall time spent on rendering
by the number of physical cores. Threading is now always active on
multi-core systems except when the environment variable
AAX_USE_THREADPOOL is set to 0.
- Add support for the ARM architecture including support for hardware FPU
and NEON. Rendering performance is comparable with Intel/AMD Cores
at a matching CPU frequency.
- Support URL parsing for the file backend and properly handle HTTP
streaming of supported audio formats (READ mode only).
- Added a capabilities interface to detect the limits of the audio hardware
by making calls to the aaxMixerGetSetup function.
- Support defining a default output device in the configuration file.
- Fix a problem when a registered sensor had a different number of
audio periods in relation to the playback device.
- Fix an emitter looping bug introduced in version 2.4.1
- Support batched (fast, non-real-time) mode for Audio Files and Loop-back.
- The file writing backend postpones writing of the file header to until
after the state is set to AAX_PLAYING.
- The file backend can now return song meta data.
- Windows WASAPI driver tweaks for better stability.
- Install to the proper system directory on 64-bit Windows.
AeonWave (2.4.1) stable; urgency=medium
- Fixed a possible segmentation fault with certain ALSA drivers.
- Fixed a possible segmentation fault for looping emitters.
AeonWave (2.4.0) stable; urgency=low
- Changed the conditions for binary distribution;
The library may now be included in commercial and non commercial projects
provided the user is made aware of the option to upgrade to the HD version.
See Copyright section 2.1; Rights and Limitations of Grant.
- Reorganized the code to support different hardware rendering schemes in
the future. As a result the current rendering speed has increased 25% to 75%
(depending of the computer hardware, older hardware profit the most).
- Add the option to use timer-based rendering instead of interrupt-based
rendering for ALSA (experimental).
- Fix a problem where the WASAPI device period could become lower than the
minimum allowed period for that particular device.
- Switched to a new xml configuration file format.
Both the old and the new formats will be supported up to version 3.0.0
- Allow custom pcm devices (defined in .asoundrc) for ALSA.
- Tweaked Surround Sound, Spatial and HRTF playback.
- Support WAV files with a LIST section.
- Fix Auto generated waveform loop-points.
- Fix a problem with capture-only backends
AeonWave (2.3.4) stable; urgency=high
- Fix a problem where distance delayed objects that where registered at
the mixer or an audio-frame in non-playing mode started with the wrong
position and orientation matrix causing unwanted delays.
- Fix an incorrect header problem while streaming mp3 files.
- Fix a stupid error where AeonWave-Lite didn't initialize correctly.
- Fix volume handling for windows devices without hardware volume support.
- Activate AVX instruction support.
AeonWave (2.3.3) stable; urgency=low
- Fix a problem with files with a .wav extension that aren't.
- Prevent destroying the emitter unless it is in the AAX_PROCESSED state.
AeonWave (2.3.2) stable; urgency=medium
- Fix clipping during spoken text under certain conditions.
- Fix a problem where the equalizer was turned off under certain conditions.
- Fix incorrect file-type handling for the Audio Files backend and add proper error reporting to the calling program.
AeonWave (2.3.1) stable; urgency=high
- Complete rewrite of the File backend
- Add mp3 file output support if libmp3lame is found.
- Add support for more WAV file types and fix mulaw and alaw decoding.
- Add the option to register one sensor opened in write mode (file only) at
the mixer to support a dedicated record to file option.
- Fix a major registered-sensor bug (most noticeable on Windows).
- Fix an occasional deadlock when deregistering audio-frames.
AeonWave (2.3.0) stable; urgency=high
- Distance-delay mode now adds delayed state changes in addition to delayed
start/stop. State changes include; pitch, gain, position, orientation and
velocity.
- Added sense of height to Surround sound; emitters can now be heard above
and below the speakers. This is best perceived if the speakers and the
listeners ears are (almost) in the same horizontal plane.
- Add support for the AAXS (AeonWave Auto-generated XML Sound) audio format.
- Add double precision 64-bit floating point matrix support functions.
- Implement hardware volume support for ALSA and WASAPI.
- hardware volume is adjusted within hardware boundaries, volume settings
beyond the hardware range are adjusted using software fall-back.
- the volume filter now reports the hardware minimum and maximum.
- Implement Auto-Gain Control with a user definable adjust-rate.
- Add the option to select stereo, mono-left, mono-right or mono-mix for
audio capturing.
- Add an aaxMixerGetState function to retrieve the state of the current
audio stream. This can for instance be used to reinitialize the device
after the hardware audio format has changed.
- Add the option to set the number of times to loop a buffer.
- Fixed reported bugs.
- Fix an issue that prevented ALSA from reporting new hardware while an
application was running.
- Fix an issue with loop-back capturing of the playback stream.
- Fix an issue with flanging for emitters registered at the final mixer.
- Fix an issue that affected HRTF and Surround sound playback.
AeonWave (2.2.4) stable; urgency=low
- Add an aaxFree function to free memory allocated by the library.
This might be necessary when using different compilers.
- Add support for a Reverb effect which only applies to the final mixer.
- Make the dynamic-gain envelope-following mode a proper audio-compressor and
expander with noise gate. The offset property defines the threshold level.
- Add the option to retrieve the compression level for every track.
- Add an aaxAudioFrameGetSetup function to be able to retrieve the above.
- Add the ability to retrieve peak and average audio levers for every track
(final mixer only).
- Fix distortion behavior, it was over compressing for high distortion factors.
- Add an envelope following option for the distortion effect.
- Remove some duplicate code, most code is now shared between the mixer and
audio-(sub)frames which should lead to fewer case specific problems.
- Fix LFO situations where changing the LFO values could become out of bounds.
- Fix filters and effects for registered sensors.
- Overhaul of the Windows backend and threads code.
- Fix a lot of corner case situations that failed before.
- Improve runtime performance considerably.
- Fix registered sensors.
- Allow sensors to be registered at sub-frames.
- Expose the driver latency
AeonWave (2.2.3) stable; urgency=high
- Fix a naming clash between ZeroXML and libxml2. The function names of the
library were inadvertently exposed.
- Sanitize the slot parameters for Filters and Effects when calling their
respective SetState function to prevent possible buffer overflows
AeonWave (2.2.2) stable; urgency=medium
- Fix a delay effects (phasing, chorus, flanging) problem that was introduced
by the off-by-one fix for streaming audio with a low sample frequency.
- Fix IMA4 support for WAV file capturing and playback on non file backends.
- Fix end-of-file problem that could cause a segmentation fault.
- Fix an off-by-one problem for the loopback device.
AeonWave (2.2.1) stable; urgency=low
- Added native support for Windows (Vista or later).
- A complete overhaul of the File backend;
- added file capturing support and support for different output formats.
- added the infrastructure to detect and handle different audio file-formats
- WAV files are always supported for input and output.
- MP3 file (input) is supported if libmpg123 is installed.
- Fix the default ALSA device for when PulseAudio isn't active.
- Fix an off by one problem for streaming audio with a low sample frequency
compared to the mixer frequency.
- Fix a problem where multiple open backends in the same application could
not have different rendering types (HRTF/Stereo/Spatial/Surround).
- Moved the include files aax.h to aax/aax.h and aaxdefs.h to aax/defines.h
and provide stubs that automatically include the correct header file.
- Moved the configuration file from ~/.aaxconfig.xml to ~/.aax/config.xml
and added code that automatically moves the old configuration file to the
new location if it doesn't yet exist.
- Made the aaxDriverGetInterface functions more reliable by storing interface
description for every opened device (as a bonus this also causes less
kernel audio device detection calls).
AeonWave (2.2.0) stable; urgency=low
- Added an 8 band graphical equalizer for the final mixer stage.
- Added an envelope following option for filters and effects (auto-wah).
- Added seamless transition from tube-like soft-clipping to sharp-clipping
and add an asymmetric clipping option. This is most noticeable for
the distortion effect.
- Added support for registered sensors. Registering an aaxConfig handle
which is opened in AAX_MODE_READ mode eliminates the need for the
application to do buffer handling between the physical input device and
an emitter. It also improves latency since reading the buffer and
processing it's contents is done in a single step.
Registered sensors are only guaranteed in stereo mode for this release.
- Added support for sub-frames. Sub-frames are like regular audio-frames
but they are registered at other audio-frames. Where audio-frames
render in their own thread, sub-frames will render in their parents thread.
- This removes any limit to the number of supported emitters as long as the
system can handle the load. The maximum number of registered emitters,
sensors and sub-frames per audio frame is still 256.
- Move the speaker setup from the global section to device specific section
in the configuration file. This allows for different setups for headphone
connections and (for example) 4 channel spatialised speaker setup.
- Added support for a dedicated configuration file entry for every device.
- Added the inverse of the modulation-waveform for filters and effects.
- Added the option to modify the Q (resonance) factor of frequency filters.
- A complete overhaul of the recording code and of the ALSA backend.
- Fixed filter and effect support for streaming audio.
- Added a re-sampling option for fetching buffer data.
- Speed-up of filter and effect processing.
- Added flanging effect.
- Dozens of small fixes.
AeonWave (2.1.2) stable; urgency=medium
- Fix some possible type conversion problems
- Fix a possible dead-lock situation
AeonWave (2.1.0) stable; urgency=low
- Added waveform generator
- Added timed-gain filter and timed-pitch effect (envelopes)
- Assorted small bug-fixes and usability updates.
AeonWave (2.0.0) stable; urgency=low
- Added hardware acceleration
- Added sub-mixing capable audio-frames
- Added support for Filters and Effects
- New simplified, robust and consistent API
- New spatialised speaker setup
AeonWave (1.0.0) stable; urgency=low
- Split up the AeonWave library and the OpenAL support code
- New HRTF and Surround sound setups
- Added matrix operations
OpenAL (1.0.0) stable; urgency=low
- Initial version following the OpenAL 1.1 specification