Chris Robinson
105abc6513
Fix returned value for AL_AMBISONIC_SCALING_SOFT buffer queries
2021-07-13 06:33:54 -07:00
Chris Robinson
d998c03a27
Add a UHJ-specific coefficient scaling array
2021-07-13 06:31:13 -07:00
Chris Robinson
fb2cb2bd06
Attempt to support capture enumeration with CoreAudio
2021-07-10 00:34:00 -07:00
Chris Robinson
10d782502a
Use variables and types when they're defined
2021-07-09 21:25:13 -07:00
Chris Robinson
c8cfdf6ddf
Don't define enumeration functions when they're not used
2021-07-09 18:54:23 -07:00
Chris Robinson
955fdebcad
Add a utility to encode audio files to UHJ
2021-07-09 09:04:07 -07:00
Anonymous Maarten
9a745292bd
Make OpenALConfig.cmake compatible with CMake's FindOpenAL.cmake ( #581 )
...
* Make OpenALConfig.cmake compatible with CMake's FindOpenAL.cmake
* Create and install OpenALConfigVersion.cmake
* cmake: drop creating of OpenALConfigVersion.cmake
2021-07-06 00:34:40 -07:00
Chris Robinson
d38c8419c7
Update the 5.1+center decoder and use it by default
...
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.
2021-06-30 15:53:15 -07:00
Chris Robinson
c09c94de25
Allow decoders to specify the coefficient scaling
2021-06-25 08:10:41 -07:00
Chris Robinson
2186c890a3
Handle spaces in the ambdec description
2021-06-24 09:37:01 -07:00
Chris Robinson
41add63728
Don't attenuate spatialized multichannel sources
...
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.
2021-06-24 08:21:25 -07:00
Chris Robinson
247a149115
MSVC doesn't like the decltype
2021-06-23 13:30:17 -07:00
Chris Robinson
9a7bca1116
Add wrapper methods for getting device config values
2021-06-23 10:45:24 -07:00
Chris Robinson
5b2489c3e8
Convert AmbDecConf to DecoderConfig for loading
...
This keeps AmbDecConf uses confined to multi-channel panning initialization,
and avoids spreading conversions and maps all over.
2021-06-23 09:44:58 -07:00
Chris Robinson
2b7c446363
Support built-in 3D ambisonic decoders
2021-06-23 03:22:54 -07:00
Chris Robinson
d28cf80b6f
Allow querying ALC_ALL_DEVICES_SPECIFIER from loopback devices
...
They only return the default/driver name, since loopback devices don't have a
canonical name.
2021-06-22 03:25:31 -07:00
Chris Robinson
8f3148ba53
Don't allocate full buffer lines in each voice
...
There's now effectively a 16-channel limit for buffers (as determined by the
number of elements in DeviceBase::mSampleData). Any more than that are
ignored when mixing.
2021-06-21 09:04:33 -07:00
Chris Robinson
7584458ecd
Avoid mixing extraneous channels
2021-06-21 07:36:47 -07:00
Chris Robinson
1c5a6ad92b
Use a unique_ptr to hold raw byte memory
2021-06-21 03:54:49 -07:00
kcat
5b1d9030a1
Merge pull request #578 from alexey-lysiuk/coreaudio_channel_count
...
Fix getting of device channel count in CoreAudio backend
2021-06-21 03:40:16 -07:00
alexey.lysiuk
375838c473
Fix getting of device channel count in CoreAudio backend
...
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: 008a1abc57/audio/mac/audio_manager_mac.cc (266)
There were occasional crashes because of memory corruption which was confirmed by address sanitizer
2021-06-21 13:24:45 +03:00
Chris Robinson
04a6e418d7
Fix some size types
2021-06-18 21:03:31 -07:00
Chris Robinson
a7d2e2974f
Initial attempt at CoreAudio playback enumeration
2021-06-18 20:55:00 -07:00
Chris Robinson
302b6f3ced
Avoid altering SrcBufferSize in each channel
2021-06-14 16:56:46 -07:00
Chris Robinson
2f16fc190f
Combine some checks
2021-06-14 01:51:04 -07:00
Chris Robinson
9c58ed73d3
Reorder some channel label indices
2021-06-13 21:45:42 -07:00
Chris Robinson
76a9fdae75
Use a unique_ptr to auto-free the jack ports list
2021-06-12 14:19:55 -07:00
Chris Robinson
7e32478327
Set the JACK output ports as terminal
...
Since there are no input ports associated with the output.
2021-06-12 12:54:31 -07:00
Chris Robinson
241107faeb
Give a name to a lambda
2021-06-11 13:43:01 -07:00
Chris Robinson
f5bcd12be1
Improve name duplication handling with JACK
...
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.
2021-06-10 16:15:00 -07:00
Chris Robinson
debb932573
Add an option to mix directly in the JACK callback
2021-06-08 10:52:37 -07:00
Chris Robinson
58a9549a58
Handle the listener position separate from the rotation matrix
...
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.
2021-05-25 14:08:16 -07:00
Chris Robinson
62e6ce6d73
Leave an artifact on AppVeyor for a DLL build
2021-05-21 19:08:34 -07:00
Chris Robinson
8d868ff33f
Fix setting the channel distance compensation buffers
2021-05-20 23:48:43 -07:00
Chris Robinson
0ec549ae7a
Fix short initial packet preparation in alffplay
2021-05-20 23:48:43 -07:00
kcat
4733c9fc37
Merge pull request #564 from halx99/patch-1
...
Improve cmake to handle tvOS
2021-05-13 15:14:11 -07:00
kcat
8324471b8a
Merge pull request #559 from tatokis/split-sse-sse2
...
Allow enabling SSE without SSE2
2021-05-13 15:13:00 -07:00
HALX99
2516fdee66
Handle tvOS case
2021-05-13 19:05:47 +08:00
HALX99
66ebc3dc4b
Update CMakeLists.txt
2021-05-13 18:53:26 +08:00
Chris Robinson
1d7ff54f7d
Update some comments in CMake
2021-05-13 01:46:09 -07:00
Chris Robinson
bab6e92980
Avoid shadowing a variable name
2021-05-13 01:44:06 -07:00
Chris Robinson
6aff0715a1
Don't fail fast on github CI
2021-05-13 01:44:06 -07:00
HALX99
44d58bc69c
Fix check_include_file return unexpected result ( #563 )
...
Don't overwrite existing CMAKE_TRY_COMPILE_PLATFORM_VARIABLES values.
2021-05-13 01:43:39 -07:00
Tasos Sahanidis
b40272d256
Allow enabling SSE without SSE2
2021-04-30 13:29:39 +03:00
Chris Robinson
2f0e37bc24
Add back some more missing includes
2021-04-27 23:03:24 -07:00
Chris Robinson
1195bba833
Add back a missing include
2021-04-27 19:46:33 -07:00
Chris Robinson
e3c0b60cc6
Rename alcontext.h and move some functions to context.cpp
2021-04-27 19:04:45 -07:00
Chris Robinson
3d8e705107
Move some functions to a more appropriate place
2021-04-27 17:01:27 -07:00
Chris Robinson
06dcfc3fcf
Rename alcmain.h to device.h
2021-04-27 16:40:22 -07:00
Chris Robinson
061148072f
Update include headers
...
Don't add alc/ to the include paths.
2021-04-27 16:04:54 -07:00