Improve source stream looping behavior
[alure.git] / README.md
blob747fcd3e9648eb61b96deab6f39e9427c4701ed1
1 Alure
2 =====
4 [![Build Status](https://api.travis-ci.org/kcat/alure.svg)](https://travis-ci.org/kcat/alure)
6 Alure is a C++ 3D audio API. It uses OpenAL for audio rendering, and provides
7 common higher-level features such as file loading and decoding, buffer caching,
8 background streaming, and source management for virtually unlimited sound
9 source handles.
11 Features
12 --------
14 Alure supports 3D sound rendering based on standard OpenAL features. Extra 3D
15 sound features may be available depending on the extensions supported by OpenAL
16 (newer versions of OpenAL Soft provide the necessary extensions and is thus
17 recommended, but is not required if those features aren't of interest).
19 Environmental audio effects are supported with the ALC_EXT_EFX extension. This
20 provides multi-zone reverb, sound occlusion and obstruction (simulating sounds
21 being behind doors or walls), and atmospheric air absorption.
23 Binaural (HRTF) rendering is provided with the ALC_SOFT_HRTF extension. When
24 used with headphones, this provides an unparalleled sense of 3D sound
25 positioning. Multiple and custom profiles can also be select from to get a
26 closer match for different people.
28 Alure supports decoding audio files using external libraries: VorbisFile,
29 OpusFile, libFLAC, libsndfile, and libmpg123. A built-in standard wave file
30 reader is also available, supporting basic PCM formats. Application-defined
31 decoders are also supported in case the default set are insufficient.
33 And much more...