| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
This ultimately is to properly distinguish and clarify formats being 32-bit
integer and 32-bit float.
|
|
|
|
|
| |
While the common use case, convolution can do more than just reverb, and it
nicely shortens the name.
|
|
|
|
| |
Only affects ambisonic (B-Format and UHJ) formats
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is essentially just a copy of alcGetProcAddress. It's purpose is to bypass
Creative's router's alcGetProcAddress implementation, which returns its own
functions even if given a device handle. When combined with it also wrapping
the drivers' device and context handles, that prevents any extention function
that needs a recognizable device or context handle from working, like the
*Direct functions, as there's no way for the app to get a device or context
handle the driver can know about).
An alternate function to get function pointers allows a driver to return its
own implementation for standard and extension functions, which an application
can use to "bootstrap" audio to use a particular driver directly, enabling
use of extensions that the router gets in the way of (and also avoid the
overhead of the router, however small that may be).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Devices being added or removed, or the default device changing. Not all
backends report this (none do currently), but it'll be supported where it can.
|
|
|
|
|
|
|
|
|
|
|
| |
Only relevant for C++, but these functions can't throw as it's a C-based API.
Letting the compiler know that helps improve code generation. Extension
callbacks must also not let exceptions leave the callback, or else Bad Things
can happen.
The macro AL_DISABLE_NOEXCEPT may be defined before including the headers to
not mark functions as noexcept, but this should only be done if the caller
can't otherwise be fixed.
|
| |
|
| |
|
|
|
|
|
| |
These functions will allow making AL calls using the specified context, rather
than having to set a "current" context for subsequent AL calls to use.
|
|
|
|
|
| |
Setting the debug flag at context creation enables more debug messages for the
created context, and enables debug messages by default.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
ADPCM doesn't seem to be well defined for more than two channels, even though
there doesn't seem to be any issue with simply increasing the channel step over
interleaved data (ffmpeg refuses to create IMA4 or MSADPCM files with more than
two channels, and its decoder behaves oddly different when channels > 2). So
IMA4 and MSADPCM can only safely handle 2-channel UHJ.
There's no problem with muLaw supporting 2-, 3-, or 4-channel UHJ though.
|
|
|
|
|
|
|
|
| |
This starts a source at a particular device clock time, rounded to the nearest
sample (really, 4th sample for SIMD reasons), allowing to start a sound at a
particular point in the output instead of the next update.
Unlike using negative offsets, this is not affected by pitch/velocity.
|
| |
|
|
|
|
|
|
| |
The values are identical to the matching loopback channel configuration enums,
so for example ALC_5POINT1_SOFT is interchangable with ALC_SURROUND_5_1_SOFT,
this is simply providing a cleaner styling for potential future modes.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
When playing a stereo format, enabling Super Stereo causes the source to behave
as a B-Format source, with a variable width control.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Rather than stopping voices/sources when the device becomes disconnected, the
context can be set to leave them alone. As a consequence, their state will
remain as playing and they'll keep their last known sample offset indefinately.
For applications mindful of this behavior, it will allow resetting or reopening
the device to reconnect and automatically resume where it left off.
|
|
|
|
| |
Also add the SOFT moniker to the new macros
|
| |
|
|
|
|
| |
Currently only 2-channel UHJ, which gets treated as stereo.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
To keep them less spread out from other OpenAL Soft extensions.
|
|
|
|
|
| |
These would be better served with a proper debug API, rather than a general
audio event API.
|
|
|
|
|
|
|
|
| |
A newly-created effect slot is in an AL_INITIAL state, in which processing is
stopped but will automatically become AL_PLAYING after successfully setting an
AL_EFFECTSLOT_EFFECT value (including AL_EFFECT_NULL or 0). Calling Play[v] or
Stop[v] will set the effect slot to AL_PLAYING or AL_STOPPED respectively.
While stopped, the effect won't produce audio and will not be processed.
|