7668 Commits

Author SHA1 Message Date
Chris Robinson
7c4e6c8424 Combine a couple similar switch blocks 2021-07-17 10:47:20 -07:00
kcat
5d832751ab
Merge pull request #585 from nift4/master
CMakeLists: add QUIET to Dbus1 find_package()
2021-07-17 10:46:52 -07:00
Nick (nift4)
dd659c9815
CMakeLists: add QUIET to Dbus1 find_package()
* Android doesn't have dbus, logspam is annoying
2021-07-17 11:28:37 +02:00
Chris Robinson
604bf609d0 Use the 2D channel orders for 2- and 3-channel UHJ 2021-07-13 13:56:22 -07:00
Chris Robinson
0977627ca6 Read the channel format from the correct object 2021-07-13 10:03:00 -07:00
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