aboutsummaryrefslogtreecommitdiffstats
path: root/alc/inprogext.h
Commit message (Collapse)AuthorAgeFilesLines
* Update some in-progress format enumsChris Robinson2023-11-251-15/+15
|
* Start a 32-bit sample format extensionChris Robinson2023-11-181-0/+20
| | | | | This ultimately is to properly distinguish and clarify formats being 32-bit integer and 32-bit float.
* Rename the convolution reverb effect to just convolutionChris Robinson2023-10-121-4/+4
| | | | | While the common use case, convolution can do more than just reverb, and it nicely shortens the name.
* Add an orientation property for convolution reverbChris Robinson2023-10-121-1/+2
| | | | Only affects ambisonic (B-Format and UHJ) formats
* Add a alcGetProcAddress2 functionChris Robinson2023-09-121-0/+4
| | | | | | | | | | | | | | | | 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).
* Make ALC_SOFT_system_events publicChris Robinson2023-08-181-17/+0
|
* Make AL(C)_EXT_debug publicChris Robinson2023-08-111-66/+0
|
* Add AL_EXT_debug functions to set/get object namesChris Robinson2023-08-111-8/+22
|
* Move some direct context function declarations to the extensionChris Robinson2023-08-031-15/+17
|
* Add a function to set a callback for log messagesChris Robinson2023-07-021-1/+3
|
* Specify the device type for the event callbackChris Robinson2023-06-011-7/+9
|
* Add a callback to report system device changesChris Robinson2023-05-301-0/+15
| | | | | 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.
* Make the API functions noexceptChris Robinson2023-05-221-351/+350
| | | | | | | | | | | 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.
* Implement direct functions for the debug APIChris Robinson2023-05-141-0/+12
|
* Implement direct functions for buffersChris Robinson2023-05-141-0/+8
|
* Declare "direct" context functions for a future extensionChris Robinson2023-05-131-0/+315
| | | | | 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.
* Implement a context debug flagChris Robinson2023-05-031-2/+9
| | | | | Setting the debug flag at context creation enables more debug messages for the created context, and enables debug messages by default.
* Rename AL_SOFT_debug to AL_EXT_DEBUGChris Robinson2023-05-031-44/+44
|
* Implement pushing/popping debug groupsChris Robinson2023-05-011-9/+18
|
* Implement debug log storageChris Robinson2023-04-301-0/+6
|
* Implement non-ID based debug message filteringChris Robinson2023-04-301-0/+3
|
* Start a debug API extensionChris Robinson2023-04-291-0/+31
|
* Finalize AL_SOFT_source_start_delayChris Robinson2023-03-311-10/+0
|
* Add AL_SOFT_UHJ_ex to the extension listChris Robinson2023-02-261-9/+0
|
* Add formats for UHJ with muLaw, and ADPCM for 2-channel UHJChris Robinson2023-02-261-1/+11
| | | | | | | | | | 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.
* Add functions to start sources at a particular device timeChris Robinson2022-11-031-0/+9
| | | | | | | | 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.
* Finalize ALC_SOFT_output_modeChris Robinson2022-04-171-15/+0
|
* Update the ALC_SOFT_output_mode surround enumsChris Robinson2022-04-151-3/+3
| | | | | | 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.
* Finalize AL_SOFT_UHJChris Robinson2022-04-131-18/+0
|
* Update a comment for abandoned extension functionsChris Robinson2022-04-031-1/+1
|
* Finalize AL_SOFT_callback_bufferChris Robinson2022-04-011-17/+0
|
* Remove the unused flags parameter from alBufferCallbackSOFTChris Robinson2022-04-011-2/+2
|
* Finalize ALC_SOFT_reopen_deviceChris Robinson2022-04-011-10/+0
|
* Avoid some explicit extern "C"s on function definitionsChris Robinson2022-03-311-0/+12
|
* Rename ALC_STEREO_PLAIN_SOFT and don't duplicate ALC_HRTF_SOFTChris Robinson2022-03-291-2/+2
|
* Handle more modes with the ALC_OUTPUT_MODE_SOFT attributeChris Robinson2022-03-231-4/+10
|
* Add source properties for Super StereoChris Robinson2021-12-151-0/+5
| | | | | When playing a stereo format, enabling Super Stereo causes the source to behave as a B-Format source, with a variable width control.
* Update some in-progress extension typesChris Robinson2021-11-101-3/+3
|
* Add an extension to request stereo UHJ outputChris Robinson2021-11-081-0/+9
|
* Partially implement an extension to hold sources on disconnectChris Robinson2021-04-261-0/+5
| | | | | | | | 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.
* Add support for 4-channel UHJChris Robinson2021-03-311-6/+9
| | | | Also add the SOFT moniker to the new macros
* Handle 3-channel UHJ audio buffersChris Robinson2021-03-311-0/+3
|
* Start an interface for providing UHJ audioChris Robinson2021-03-311-0/+7
| | | | Currently only 2-channel UHJ, which gets treated as stereo.
* Add a function/extension to reopen a playback deviceChris Robinson2021-03-091-0/+10
|
* Finalize AL_SOFT_eventsChris Robinson2020-10-261-22/+0
|
* Finalize AL_SOFT_effect_targetChris Robinson2020-10-161-5/+0
|
* Finalize ALC_SOFT_loopback_bformatChris Robinson2020-10-161-19/+0
|
* Update event enum valuesChris Robinson2020-10-071-5/+5
| | | | To keep them less spread out from other OpenAL Soft extensions.
* Remove deprecated, performance, and error event typesChris Robinson2020-09-201-4/+1
| | | | | These would be better served with a proper debug API, rather than a general audio event API.
* Add methods to start and stop effect slot processingChris Robinson2020-09-051-0/+11
| | | | | | | | 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.