aboutsummaryrefslogtreecommitdiffstats
path: root/alc
Commit message (Collapse)AuthorAgeFilesLines
* Fix the device sample type in the SDL2 backendChris Robinson2021-07-241-6/+6
|
* Ensure unused output channels are cleared when renderingChris Robinson2021-07-241-1/+12
|
* Add a UHJ-specific coefficient scaling arrayChris Robinson2021-07-133-5/+15
|
* Attempt to support capture enumeration with CoreAudioChris Robinson2021-07-101-45/+72
|
* Use variables and types when they're definedChris Robinson2021-07-091-0/+6
|
* Don't define enumeration functions when they're not usedChris Robinson2021-07-091-16/+25
|
* Update the 5.1+center decoder and use it by defaultChris Robinson2021-06-301-24/+39
| | | | | | | The itu5.1-nocenter preset is the same as the previous default, so it can still be used for people that prefer it. But this new one purportedly has better panning and positioning responses in listening tests, which initial impressions concur with.
* Allow decoders to specify the coefficient scalingChris Robinson2021-06-251-6/+24
|
* Don't attenuate spatialized multichannel sourcesChris Robinson2021-06-241-34/+9
| | | | | | | | It's inconsistent behavior with spatialized B-Format sources, and causes a very apparent gain disparity between such a source on the listener compared to just barely off-origin. It's also not something an app can easy correct for if it doesn't want that behavior, since the source gain clamps to 1 by default. In contrast, an app can attenuate sources as they want with little issue.
* MSVC doesn't like the decltypeChris Robinson2021-06-231-3/+3
|
* Add wrapper methods for getting device config valuesChris Robinson2021-06-234-41/+55
|
* Convert AmbDecConf to DecoderConfig for loadingChris Robinson2021-06-231-311/+312
| | | | | This keeps AmbDecConf uses confined to multi-channel panning initialization, and avoids spreading conversions and maps all over.
* Support built-in 3D ambisonic decodersChris Robinson2021-06-231-18/+26
|
* Allow querying ALC_ALL_DEVICES_SPECIFIER from loopback devicesChris Robinson2021-06-221-1/+3
| | | | | They only return the default/driver name, since loopback devices don't have a canonical name.
* Use a unique_ptr to hold raw byte memoryChris Robinson2021-06-211-2/+4
|
* Fix getting of device channel count in CoreAudio backendalexey.lysiuk2021-06-211-3/+1
| | | | | | | AudioBufferList contains a variable length array of mNumberBuffers elements, so it should not be created with the default constructor like usual class instances. Unfortunately, Apple developer site documentation is literally empty for this API. There is a bunch of comments in framework's header files. Here is the correct usage of AudioBufferList pointer from Chromium: https://chromium.googlesource.com/chromium/src/media/+/008a1abc573e1f8bcf513b50ce48a923b30ef130/audio/mac/audio_manager_mac.cc#266 There were occasional crashes because of memory corruption which was confirmed by address sanitizer
* Fix some size typesChris Robinson2021-06-181-2/+2
|
* Initial attempt at CoreAudio playback enumerationChris Robinson2021-06-181-14/+253
|
* Use a unique_ptr to auto-free the jack ports listChris Robinson2021-06-121-20/+24
|
* Set the JACK output ports as terminalChris Robinson2021-06-121-1/+1
| | | | Since there are no input ports associated with the output.
* Give a name to a lambdaChris Robinson2021-06-111-7/+7
|
* Improve name duplication handling with JACKChris Robinson2021-06-101-26/+63
| | | | | If a custom device pattern matches an existing one, its name will be replaced. A separate loop is used to check and handle duplicate display names.
* Add an option to mix directly in the JACK callbackChris Robinson2021-06-082-69/+144
|
* Handle the listener position separate from the rotation matrixChris Robinson2021-05-252-12/+10
| | | | | | It's too unstable with larger vectors. Even when the source and listener positions are the same, floating point precision can cause noticeable rounding errors.
* Fix setting the channel distance compensation buffersChris Robinson2021-05-201-3/+3
|
* Handle tvOS caseHALX992021-05-131-3/+3
|
* Add back a missing includeChris Robinson2021-04-271-0/+1
|
* Rename alcontext.h and move some functions to context.cppChris Robinson2021-04-275-452/+470
|
* Move some functions to a more appropriate placeChris Robinson2021-04-272-49/+72
|
* Rename alcmain.h to device.hChris Robinson2021-04-278-31/+16
|
* Update include headersChris Robinson2021-04-2745-101/+97
| | | | Don't add alc/ to the include paths.
* Update some license noticesChris Robinson2021-04-272-28/+52
| | | | Permission to relicense was granted via email.
* Update includesChris Robinson2021-04-2711-15/+18
|
* Move BufferStorage and Voice to coreChris Robinson2021-04-277-1260/+4
|
* Move ContextBase and VoiceChange to coreChris Robinson2021-04-277-190/+16
|
* Partially implement an extension to hold sources on disconnectChris Robinson2021-04-265-1/+22
| | | | | | | | 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.
* Move GetChannelIdxByName and clean up some more includesChris Robinson2021-04-269-54/+47
|
* Move bformatdec to coreChris Robinson2021-04-256-376/+6
|
* Move async_event.h to coreChris Robinson2021-04-254-54/+22
|
* Move some functions to coreChris Robinson2021-04-2519-289/+242
| | | | And clean up more includes
* More include cleanupChris Robinson2021-04-244-9/+10
|
* Move GetHFOrderScales to a more appropriate placeChris Robinson2021-04-245-43/+4
|
* Don't bother with al string typesChris Robinson2021-04-241-3/+3
|
* Update some includesChris Robinson2021-04-242-6/+10
|
* Move the DeviceBase declaraction to coreChris Robinson2021-04-242-251/+6
|
* Use the DeviceBase for the backendChris Robinson2021-04-2435-69/+69
|
* Create a base the ALCdevice and ALCcontext structsChris Robinson2021-04-2422-263/+298
| | | | | A base that contains the API-agnostic data, with ALCdevice and ALCcontext being for AL-specific data.
* Move some more sources to coreChris Robinson2021-04-245-469/+2
|
* Use the root mean square for the HRTF B-Format HF scaleChris Robinson2021-04-241-1/+3
| | | | | | | | For the second-order decoder. Since the delays are adjusted to avoid most high frequency phase cancelation, the energy-based scaling with the number of channels used creates a significant HF increase. Using the RMS-based scaling seems to create a more level response, though it's not perfect either. More testing and measurements may be needed.
* Move hrtf.cpp/h to coreChris Robinson2021-04-227-1564/+5
|