1openal-soft-1.21.1:
2
3    Improved alext.h's detection of standard types.
4
5    Improved slightly the local source position when the listener and source
6    are near each other.
7
8    Improved click/pop prevention for sounds that stop prematurely.
9
10    Fixed compilation for Windows ARM targets with MSVC.
11
12    Fixed ARM NEON detection on Windows.
13
14    Fixed CoreAudio capture when the requested sample rate doesn't match the
15    system configuration.
16
17    Fixed OpenSL capture desyncing from the internal capture buffer.
18
19    Fixed sources missing a batch update when applied after quickly restarting
20    the source.
21
22    Fixed missing source stop events when stopping a paused source.
23
24    Added capture support to the experimental Oboe backend.
25
26openal-soft-1.21.0:
27
28    Updated library codebase to C++14.
29
30    Implemented the AL_SOFT_effect_target extension.
31
32    Implemented the AL_SOFT_events extension.
33
34    Implemented the ALC_SOFT_loopback_bformat extension.
35
36    Improved memory use for mixing voices.
37
38    Improved detection of NEON capabilities.
39
40    Improved handling of PulseAudio devices that lack manual start control.
41
42    Improved mixing performance with PulseAudio.
43
44    Improved high-frequency scaling quality for the HRTF B-Format decoder.
45
46    Improved makemhr's HRIR delay calculation.
47
48    Improved WASAPI capture of mono formats with multichannel input.
49
50    Reimplemented the modulation stage for reverb.
51
52    Enabled real-time mixing priority by default, for backends that use the
53    setting. It can still be disabled in the config file.
54
55    Enabled dual-band processing for the built-in quad and 7.1 output decoders.
56
57    Fixed a potential crash when deleting an effect slot immediately after the
58    last source using it stops.
59
60    Fixed building with the static runtime on MSVC.
61
62    Fixed using source stereo angles outside of -pi...+pi.
63
64    Fixed the buffer processed event count for sources that start with empty
65    buffers.
66
67    Fixed trying to open an unopenable WASAPI device causing all devices to
68    stop working.
69
70    Fixed stale devices when re-enumerating WASAPI devices.
71
72    Fixed using unicode paths with the log file on Windows.
73
74    Fixed DirectSound capture reporting bad sample counts or erroring when
75    reading samples.
76
77    Added an in-progress extension for a callback-driven buffer type.
78
79    Added an in-progress extension for higher-order B-Format buffers.
80
81    Added an in-progress extension for convolution reverb.
82
83    Added an experimental Oboe backend for Android playback. This requires the
84    Oboe sources at build time, so that it's built as a static library included
85    in libopenal.
86
87    Added an option for auto-connecting JACK ports.
88
89    Added greater-than-stereo support to the SoundIO backend.
90
91    Modified the mixer to be fully asynchronous with the external API, and
92    should now be real-time safe. Although alcRenderSamplesSOFT is not due to
93    locking to check the device handle validity.
94
95    Modified the UHJ encoder to use an all-pass FIR filter that's less harmful
96    to non-filtered signal phase.
97
98    Converted examples from SDL_sound to libsndfile. To avoid issues when
99    combining SDL2 and SDL_sound.
100
101    Worked around a 32-bit GCC/MinGW bug with TLS destructors. See:
102    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83562
103
104    Reduced the maximum number of source sends from 16 to 6.
105
106    Removed the QSA backend. It's been broken for who knows how long.
107
108    Got rid of the compile-time native-tools targets, using cmake and global
109    initialization instead. This should make cross-compiling less troublesome.
110
111openal-soft-1.20.1:
112
113    Implemented the AL_SOFT_direct_channels_remix extension. This extends
114    AL_DIRECT_CHANNELS_SOFT to optionally remix input channels that don't have
115    a matching output channel.
116
117    Implemented the AL_SOFT_bformat_ex extension. This extends B-Format buffer
118    support for N3D or SN3D scaling, or ACN channel ordering.
119
120    Fixed a potential voice leak when a source is started and stopped or
121    restarted in quick succession.
122
123    Fixed a potential device reset failure with JACK.
124
125    Improved handling of unsupported channel configurations with WASAPI. Such
126    setups will now try to output at least a stereo mix.
127
128    Improved clarity a bit for the HRTF second-order ambisonic decoder.
129
130    Improved detection of compatible layouts for SOFA files in makemhr and
131    sofa-info.
132
133    Added the ability to resample HRTFs on load. MHR files no longer need to
134    match the device sample rate to be usable.
135
136    Added an option to limit the HRTF's filter length.
137
138openal-soft-1.20.0:
139
140    Converted the library codebase to C++11. A lot of hacks and custom
141    structures have been replaced with standard or cleaner implementations.
142
143    Partially implemented the Vocal Morpher effect.
144
145    Fixed the bsinc SSE resamplers on non-GCC compilers.
146
147    Fixed OpenSL capture.
148
149    Fixed support for extended capture formats with OpenSL.
150
151    Fixed handling of WASAPI not reporting a default device.
152
153    Fixed performance problems relating to semaphores on macOS.
154
155    Modified the bsinc12 resampler's transition band to better avoid aliasing
156    noise.
157
158    Modified alcResetDeviceSOFT to attempt recovery of disconnected devices.
159
160    Modified the virtual speaker layout for HRTF B-Format decoding.
161
162    Modified the PulseAudio backend to use a custom processing loop.
163
164    Renamed the makehrtf utility to makemhr.
165
166    Improved the efficiency of the bsinc resamplers when up-sampling.
167
168    Improved the quality of the bsinc resamplers slightly.
169
170    Improved the efficiency of the HRTF filters.
171
172    Improved the HRTF B-Format decoder coefficient generation.
173
174    Improved reverb feedback fading to be more consistent with pan fading.
175
176    Improved handling of sources that end prematurely, avoiding loud clicks.
177
178    Improved the performance of some reverb processing loops.
179
180    Added fast_bsinc12 and 24 resamplers that improve efficiency at the cost of
181    some quality. Notably, down-sampling has less smooth pitch ramping.
182
183    Added support for SOFA input files with makemhr.
184
185    Added a build option to use pre-built native tools. For cross-compiling,
186    use with caution and ensure the native tools' binaries are kept up-to-date.
187
188    Added an adjust-latency config option for the PulseAudio backend.
189
190    Added basic support for multi-field HRTFs.
191
192    Added an option for mixing first- or second-order B-Format with HRTF
193    output. This can improve HRTF performance given a number of sources.
194
195    Added an RC file for proper DLL version information.
196
197    Disabled some old KDE workarounds by default. Specifically, PulseAudio
198    streams can now be moved (KDE may try to move them after opening).
199
200openal-soft-1.19.1:
201
202    Implemented capture support for the SoundIO backend.
203
204    Fixed source buffer queues potentially not playing properly when a queue
205    entry completes.
206
207    Fixed possible unexpected failures when generating auxiliary effect slots.
208
209    Fixed a crash with certain reverb or device settings.
210
211    Fixed OpenSL capture.
212
213    Improved output limiter response, better ensuring the sample amplitude is
214    clamped for output.
215
216openal-soft-1.19.0:
217
218    Implemented the ALC_SOFT_device_clock extension.
219
220    Implemented the Pitch Shifter, Frequency Shifter, and Autowah effects.
221
222    Fixed compiling on FreeBSD systems that use freebsd-lib 9.1.
223
224    Fixed compiling on NetBSD.
225
226    Fixed the reverb effect's density scale and panning parameters.
227
228    Fixed use of the WASAPI backend with certain games, which caused odd COM
229    initialization errors.
230
231    Increased the number of virtual channels for decoding Ambisonics to HRTF
232    output.
233
234    Changed 32-bit x86 builds to use SSE2 math by default for performance.
235    Build-time options are available to use just SSE1 or x87 instead.
236
237    Replaced the 4-point Sinc resampler with a more efficient cubic resampler.
238
239    Renamed the MMDevAPI backend to WASAPI.
240
241    Added support for 24-bit, dual-ear HRTF data sets. The built-in data set
242    has been updated to 24-bit.
243
244    Added a 24- to 48-point band-limited Sinc resampler.
245
246    Added an SDL2 playback backend. Disabled by default to avoid a dependency
247    on SDL2.
248
249    Improved the performance and quality of the Chorus and Flanger effects.
250
251    Improved the efficiency of the band-limited Sinc resampler.
252
253    Improved the Sinc resampler's transition band to avoid over-attenuating
254    higher frequencies.
255
256    Improved the performance of some filter operations.
257
258    Improved the efficiency of object ID lookups.
259
260    Improved the efficienty of internal voice/source synchronization.
261
262    Improved AL call error logging with contextualized messages.
263
264    Removed the reverb effect's modulation stage. Due to the lack of reference
265    for its intended behavior and strength.
266
267openal-soft-1.18.2:
268
269    Fixed resetting the FPU rounding mode after certain function calls on
270    Windows.
271
272    Fixed use of SSE intrinsics when building with Clang on Windows.
273
274    Fixed a crash with the JACK backend when using JACK1.
275
276    Fixed use of pthread_setnane_np on NetBSD.
277
278    Fixed building on FreeBSD with an older freebsd-lib.
279
280    OSS now links with libossaudio if found at build time (for NetBSD).
281
282openal-soft-1.18.1:
283
284    Fixed an issue where resuming a source might not restart playing it.
285
286    Fixed PulseAudio playback when the configured stream length is much less
287    than the requested length.
288
289    Fixed MMDevAPI capture with sample rates not matching the backing device.
290
291    Fixed int32 output for the Wave Writer.
292
293    Fixed enumeration of OSS devices that are missing device files.
294
295    Added correct retrieval of the executable's path on FreeBSD.
296
297    Added a config option to specify the dithering depth.
298
299    Added a 5.1 decoder preset that excludes front-center output.
300
301openal-soft-1.18.0:
302
303    Implemented the AL_EXT_STEREO_ANGLES and AL_EXT_SOURCE_RADIUS extensions.
304
305    Implemented the AL_SOFT_gain_clamp_ex, AL_SOFT_source_resampler,
306    AL_SOFT_source_spatialize, and ALC_SOFT_output_limiter extensions.
307
308    Implemented 3D processing for some effects. Currently implemented for
309    Reverb, Compressor, Equalizer, and Ring Modulator.
310
311    Implemented 2-channel UHJ output encoding. This needs to be enabled with a
312    config option to be used.
313
314    Implemented dual-band processing for high-quality ambisonic decoding.
315
316    Implemented distance-compensation for surround sound output.
317
318    Implemented near-field emulation and compensation with ambisonic rendering.
319    Currently only applies when using the high-quality ambisonic decoder or
320    ambisonic output, with appropriate config options.
321
322    Implemented an output limiter to reduce the amount of distortion from
323    clipping.
324
325    Implemented dithering for 8-bit and 16-bit output.
326
327    Implemented a config option to select a preferred HRTF.
328
329    Implemented a run-time check for NEON extensions using /proc/cpuinfo.
330
331    Implemented experimental capture support for the OpenSL backend.
332
333    Fixed building on compilers with NEON support but don't default to having
334    NEON enabled.
335
336    Fixed support for JACK on Windows.
337
338    Fixed starting a source while alcSuspendContext is in effect.
339
340    Fixed detection of headsets as headphones, with MMDevAPI.
341
342    Added support for AmbDec config files, for custom ambisonic decoder
343    configurations. Version 3 files only.
344
345    Added backend-specific options to alsoft-config.
346
347    Added first-, second-, and third-order ambisonic output formats. Currently
348    only works with backends that don't rely on channel labels, like JACK,
349    ALSA, and OSS.
350
351    Added a build option to embed the default HRTFs into the lib.
352
353    Added AmbDec presets to enable high-quality ambisonic decoding.
354
355    Added an AmbDec preset for 3D7.1 speaker setups.
356
357    Added documentation regarding Ambisonics, 3D7.1, AmbDec config files, and
358    the provided ambdec presets.
359
360    Added the ability for MMDevAPI to open devices given a Device ID or GUID
361    string.
362
363    Added an option to the example apps to open a specific device.
364
365    Increased the maximum auxiliary send limit to 16 (up from 4). Requires
366    requesting them with the ALC_MAX_AUXILIARY_SENDS context creation
367    attribute.
368
369    Increased the default auxiliary effect slot count to 64 (up from 4).
370
371    Reduced the default period count to 3 (down from 4).
372
373    Slightly improved automatic naming for enumerated HRTFs.
374
375    Improved B-Format decoding with HRTF output.
376
377    Improved internal property handling for better batching behavior.
378
379    Improved performance of certain filter uses.
380
381    Removed support for the AL_SOFT_buffer_samples and AL_SOFT_buffer_sub_data
382    extensions. Due to conflicts with AL_EXT_SOURCE_RADIUS.
383
384openal-soft-1.17.2:
385
386    Implemented device enumeration for OSSv4.
387
388    Fixed building on OSX.
389
390    Fixed building on non-Windows systems without POSIX-2008.
391
392    Fixed Dedicated Dialog and Dedicated LFE effect output.
393
394    Added a build option to override the share install dir.
395
396    Added a build option to static-link libgcc for MinGW.
397
398openal-soft-1.17.1:
399
400    Fixed building with JACK and without PulseAudio.
401
402    Fixed building on FreeBSD.
403
404    Fixed the ALSA backend's allow-resampler option.
405
406    Fixed handling of inexact ALSA period counts.
407
408    Altered device naming scheme on Windows backends to better match other
409    drivers.
410
411    Updated the CoreAudio backend to use the AudioComponent API. This clears up
412    deprecation warnings for OSX 10.11, although requires OSX 10.6 or newer.
413
414openal-soft-1.17.0:
415
416    Implemented a JACK playback backend.
417
418    Implemented the AL_EXT_BFORMAT and AL_EXT_MULAW_BFORMAT extensions.
419
420    Implemented the ALC_SOFT_HRTF extension.
421
422    Implemented C, SSE3, and SSE4.1 based 4- and 8-point Sinc resamplers.
423
424    Implemented a C and SSE based band-limited Sinc resampler. This does 12- to
425    24-point Sinc resampling, and performs anti-aliasing.
426
427    Implemented B-Format output support for the wave file writer. This creates
428    FuMa-style first-order Ambisonics wave files (AMB format).
429
430    Implemented a stereo-mode config option for treating stereo modes as either
431    speakers or headphones.
432
433    Implemented per-device configuration options.
434
435    Fixed handling of PulseAudio and MMDevAPI devices that have identical
436    descriptions.
437
438    Fixed a potential lockup when stopping playback of suspended PulseAudio devices.
439
440    Fixed logging of Unicode characters on Windows.
441
442    Fixed 5.1 surround sound channels. By default it will now use the side
443    channels for the surround output. A configuration using rear channels is
444    still available.
445
446    Fixed the QSA backend potentially altering the capture format.
447
448    Fixed detecting MMDevAPI's default device.
449
450    Fixed returning the default capture device name.
451
452    Fixed mixing property calculations when deferring context updates.
453
454    Altered the behavior of alcSuspendContext and alcProcessContext to better
455    match certain Windows drivers.
456
457    Altered the panning algorithm, utilizing Ambisonics for better side and
458    back positioning cues with surround sound output.
459
460    Improved support for certain older Windows apps.
461
462    Improved the alffplay example to support surround sound streams.
463
464    Improved support for building as a sub-project.
465
466    Added an HRTF playback example.
467
468    Added a tone generator output test.
469
470    Added a toolchain to help with cross-compiling to Android.
471
472openal-soft-1.16.0:
473
474    Implemented EFX Chorus, Flanger, Distortion, Equalizer, and Compressor
475    effects.
476
477    Implemented high-pass and band-pass EFX filters.
478
479    Implemented the high-pass filter for the EAXReverb effect.
480
481    Implemented SSE2 and SSE4.1 linear resamplers.
482
483    Implemented Neon-enhanced non-HRTF mixers.
484
485    Implemented a QSA backend, for QNX.
486
487    Implemented the ALC_SOFT_pause_device, AL_SOFT_deferred_updates,
488    AL_SOFT_block_alignment, AL_SOFT_MSADPCM, and AL_SOFT_source_length
489    extensions.
490
491    Fixed resetting mmdevapi backend devices.
492
493    Fixed clamping when converting 32-bit float samples to integer.
494
495    Fixed modulation range in the Modulator effect.
496
497    Several fixes for the OpenSL playback backend.
498
499    Fixed device specifier names that have Unicode characters on Windows.
500
501    Added support for filenames and paths with Unicode (UTF-8) characters on
502    Windows.
503
504    Added support for alsoft.conf config files found in XDG Base Directory
505    Specification locations (XDG_CONFIG_DIRS and XDG_CONFIG_HOME, or their
506    defaults) on non-Windows systems.
507
508    Added a GUI configuration utility (requires Qt 4.8).
509
510    Added support for environment variable expansion in config options (not
511    keys or section names).
512
513    Added an example that uses SDL2 and ffmpeg.
514
515    Modified examples to use SDL_sound.
516
517    Modified CMake config option names for better sorting.
518
519    HRTF data sets specified in the hrtf_tables config option may now be
520    relative or absolute filenames.
521
522    Made the default HRTF data set an external file, and added a data set for
523    48khz playback in addition to 44.1khz.
524
525    Added support for C11 atomic methods.
526
527    Improved support for some non-GNU build systems.
528
529openal-soft-1.15.1:
530
531    Fixed a regression with retrieving the source's AL_GAIN property.
532
533openal-soft-1.15:
534
535    Fixed device enumeration with the OSS backend.
536
537    Reorganized internal mixing logic, so unneeded steps can potentially be
538    skipped for better performance.
539
540    Removed the lookup table for calculating the mixing pans. The panning is
541    now calculated directly for better precision.
542
543    Improved the panning of stereo source channels when using stereo output.
544
545    Improved source filter quality on send paths.
546
547    Added a config option to allow PulseAudio to move streams between devices.
548
549    The PulseAudio backend will now attempt to spawn a server by default.
550
551    Added a workaround for a DirectSound bug relating to float32 output.
552
553    Added SSE-based mixers, for HRTF and non-HRTF mixing.
554
555    Added support for the new AL_SOFT_source_latency extension.
556
557    Improved ALSA capture by avoiding an extra buffer when using sizes
558    supported by the underlying device.
559
560    Improved the makehrtf utility to support new options and input formats.
561
562    Modified the CFLAGS declared in the pkg-config file so the "AL/" portion of
563    the header includes can optionally be omitted.
564
565    Added a couple example code programs to show how to apply reverb, and
566    retrieve latency.
567
568    The configuration sample is now installed into the share/openal/ directory
569    instead of /etc/openal.
570
571    The configuration sample now gets installed by default.
572