Chris Robinson
81527cdbdd
Convert the CoreAudio backend to the updated backend API
2017-04-09 11:21:02 -07:00
Chris Robinson
26144ca9df
Rename al_string_* functions to alstr_*
2017-04-04 06:58:53 -07:00
Chris Robinson
247f56249a
Always lock the device backend before calling aluMixData
2017-02-18 17:32:07 -08:00
Chris Robinson
f775f25379
Modify NumUpdates for different sample rates instead of UpdateSize
...
Not that this really changes anything since the CoreAudio backend doesn't honor
the ALCdevice's buffer metrics, nor accurately report the device's actual
metrics. But it clears up warnings from a non-multiple-of-four update size if
the sample rate causes it to change.
2016-08-04 21:19:04 -07:00
Chris Robinson
bff5268ed4
Remove DevFmtBFormat3D, which is covered by DevFmtAmbi1
2016-07-31 08:13:41 -07:00
Chris Robinson
b5b3ea95f8
Add a config to output first-, second-, or third-order ambisonics
...
Currently incomplete, as second- and third-order output will not correctly
handle B-Format input buffers. A standalone up-sampler will be needed, similar
to the high-quality decoder.
Also, output is ACN ordering with SN3D normalization. A config option will
eventually be provided to change this if desired.
2016-07-29 21:55:43 -07:00
Chris Robinson
d6163fe570
Convert remaining ringbuffers to the lockless variant
2016-03-29 23:48:36 -07:00
Alex Szpakowski
21c84bcd96
Replace deprecated Carbon API calls with modern AudioComponent APIs in the CoreAudio backend.
...
This prevents a deprecation notice from being output to stdout when alcOpenDevice is called in Mac OS X 10.11.
The new API calls require Mac OS X 10.6 or newer.
2015-11-13 20:11:12 -04:00
Chris Robinson
bdbf6613ef
Support B-Format output with the wave file writer
2014-11-25 22:20:00 -08:00
Chris Robinson
0051a96376
Fix 5.1 surround sound
...
Apparently, 5.1 surround sound is supposed to use the "side" channels, not the
back channels, and we've been wrong this whole time. That means the "5.1 Side"
is actually the correct 5.1 setup, and using the back channels is anomalous.
Additionally, this means the 5.1 buffer format should also use the the side
channels instead of the back channels.
A final note: the 5.1 mixing coefficients are changed so both use the original
5.1 surround sound set (with the surround channels at +/-110 degrees). So the
only difference now between 5.1 "side" and 5.1 "back" is the channel labels.
2014-11-07 00:54:16 -08:00
Chris Robinson
a234fc11e5
Remove the GetLatency method from the old BackendFuncs
2014-09-08 06:59:58 -07:00
Chris Robinson
368bf037dd
Check the given CoreAudio capture device name
2014-08-26 14:50:14 -07:00
François Cami
3c13e1e333
Update COPYING to the latest https://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt to fix the FSF' address Fix the FSF' address in the source
2014-08-18 11:34:29 -07:00
Chris Robinson
2729a1549b
Add a needed header for the CoreAudio backend
2014-05-22 11:29:26 -07:00
Chris Robinson
7b93e10f7a
Use an al_string for the device name
2014-03-28 22:11:34 -07:00
Chris Robinson
10dbb1bc9b
Remove the Lock and Unlock methods from BackendFuncs
...
All backends that still use the old interface use the default locking methods,
which is also used by the ALCbackend base.
2013-11-04 23:34:18 -08:00
Chris Robinson
4621a7b426
Add support for float32 output to CoreAudio
2012-12-03 11:50:02 -08:00
Chris Robinson
4808313e70
Use the correct multiplier for int32 output with CoreAudio
2012-12-03 10:44:02 -08:00
Chris Robinson
0f3a575a09
Don't include alu.h in alMain.h
2012-09-14 02:14:29 -07:00
Chris Robinson
37924887e8
Use a default method to provide a dummy latency
2012-08-19 12:31:59 -07:00
Chris Robinson
0865db564f
Move the device lock into the backend function table
...
For backend-specific implementations: this should hold the audio mixer loop for
playback devices, and provide recursive mutex behavior.
2012-08-18 15:58:04 -07:00
Chris Robinson
ac4fc4026c
Add a device method to retrieve the active latency
...
This is effectively the time until the next update will be heard by the user,
or the closest approximation thereof, in nanoseconds.
2012-08-17 13:38:52 -07:00
Chris Robinson
259e4f5b38
Rename AllDevice -> AllDevices
2012-05-09 16:28:16 -07:00
Chris Robinson
b023dbe7b8
Remove hungarian notation from the device and context structs
2012-04-19 22:50:11 -07:00
Chris Robinson
3b165809cc
Minor coreaudio fix, and make sure to set the device name
2012-03-13 13:48:42 -07:00
Chris Robinson
663b43f4f1
Attempted fix for the coreaudio backend
2012-03-12 21:58:40 -07:00
Chris Robinson
e2ccc6f98e
Always use "OpenAL Soft" for the short device enumeration list
2012-02-20 20:45:22 -08:00
Chris Robinson
1140b3ae83
Support signed and unsigned 32-bit int output
2012-02-14 11:44:57 -08:00
Chris Robinson
ae7b61b040
Avoid printing messages about device parameter changes in the backends
2012-01-17 16:38:58 -08:00
Chris Robinson
cc3dd648ac
Check the number of available samples before calling the capture method
2011-09-18 20:27:34 -07:00
Chris Robinson
fe1e046ea6
Remove a couple ineffective alcSetError calls
2011-09-14 11:55:57 -07:00
Chris Robinson
97024151e4
Return an error from the CaptureSamples method instead of setting it
2011-09-14 02:01:35 -07:00
Chris Robinson
7e2155d937
Return an ALC error enum from the OpenCapture backend method
2011-08-24 14:44:15 -07:00
Chris Robinson
c696d4dbb2
Return an ALC error enum from the OpenPlayback backend method
2011-08-24 14:24:48 -07:00
Chris Robinson
9989f33fc2
Move backend sources to a separate sub-directory
2011-08-20 00:41:47 -07:00