Chris Robinson
cbbc4dc8fa
Move some more context functions to the proper source
2021-12-17 17:34:03 -08:00
Chris Robinson
d16b61dffb
Move the effects base and effectslot to core
2021-12-17 17:13:59 -08:00
Chris Robinson
fbc42aad7e
Move some ContextBase function definitions to the right place
2021-12-17 04:25:46 -08:00
Chris Robinson
3ed913f6dd
Remove an unnecessary parameter
2021-12-17 04:14:39 -08:00
Chris Robinson
c9537abfb1
Allocate voice properties in clusters
2021-12-17 04:07:00 -08:00
Chris Robinson
21bdea776a
Set the PipeWire stream rate
...
When requesting a non-default rate, this may allow the hardware to run at the
requested rate.
2021-12-16 13:03:13 -08:00
Chris Robinson
54c4bea487
Add source properties for Super Stereo
...
When playing a stereo format, enabling Super Stereo causes the source to behave
as a B-Format source, with a variable width control.
2021-12-15 02:01:22 -08:00
Chris Robinson
953745d386
Make an inline function to check for 2D ambisonic formats
2021-12-12 15:53:53 -08:00
Chris Robinson
5e3fcb3a93
Avoid initializing the NFC filter for every voice channel
...
It can be initialized once with the device's speaker distance since it won't
change in between resets, then copied into the voice where it can be adjusted
as needed.
2021-12-11 21:42:34 -08:00
Chris Robinson
01dd34f305
Add an internal Super Stereo format
...
It's not available as an AL buffer format (yet) since I'm not sure how to
expose it. Internally it seems fine as a separate channel configuration, but
because OpenAL combines the channel configuration and sample type, a flag may
work better there.
2021-12-11 17:50:24 -08:00
Chris Robinson
a8ea3cad22
Adjust the crossover frequency for HRTF ambisonic decoding
2021-12-08 18:17:16 -08:00
Chris Robinson
bfaa28af18
Don't clamp the distance with distance attenuation disabled
2021-11-30 22:55:17 -08:00
Chris Robinson
f1380d830a
Avoid passing spans unnecessarily
2021-11-25 20:29:50 -08:00
Chris Robinson
08a4e8a6b2
Return true from alcReopenDeviceSOFT if the new device opened
2021-11-21 23:22:04 -08:00
Chris Robinson
834800c817
Downgrade some ERRs to WARNs
2021-11-21 20:29:20 -08:00
Chris Robinson
0c99a6b316
Make the backend pointer part of ALCdevice instead of DeviceBase
2021-11-19 20:04:10 -08:00
Chris Robinson
6e2c1b8431
Consolidate some variable state
2021-11-17 19:08:22 -08:00
Chris Robinson
b43fd6dca7
Always lock the device state when querying device attributes
2021-11-16 16:44:58 -08:00
Chris Robinson
7062de0337
Handle SPA_CHOICE_None for sample rates from PipeWire
2021-11-14 12:47:06 -08:00
Chris Robinson
eac427dff7
Report unexpected types for the sample rate from PipeWire
2021-11-14 11:43:33 -08:00
Chris Robinson
cf85ffd22f
Support "enum" choices for sample rates with PipeWire
2021-11-14 05:58:39 -08:00
Chris Robinson
bbff1efa2a
Update some in-progress extension types
2021-11-10 01:21:49 -08:00
Chris Robinson
e3168c9112
Add an extension to request stereo UHJ output
2021-11-08 16:56:05 -08:00
Chris Robinson
b81fa0dc90
Don't trace unused metadata properties and node types
...
As useful as it may sometimes be to see what's being provided, at least under
kwin_wayland a not-insignificant number of video-related nodes and metadata
properties are sent through normal use of the system (most notably when
hovering over the taskbar to see window thumbnails).
2021-10-26 09:40:10 -07:00
Chris Robinson
4de789ba68
Don't change the requested format when it's usable with WASAPI
2021-10-25 06:37:48 -07:00
Chris Robinson
49a36334bd
Use a tri-state optional for the stereo output mode
2021-10-24 11:51:39 -07:00
Chris Robinson
096bed35fa
Pass a parameter to aluInitRenderer to specify UHJ output
2021-10-23 11:37:46 -07:00
Chris Robinson
1a448b2e92
Fix a double-release
2021-10-23 07:57:17 -07:00
Chris Robinson
d0e5e138e2
Use a flag to indicate headphone-like output
2021-10-23 07:51:06 -07:00
Chris Robinson
0e93fc53f4
Don't reset the ambisonic layout and scale with stereo output
2021-10-23 05:48:47 -07:00
Chris Robinson
d5dc2828bf
Don't pass the whole decoder to InitDistanceComp
2021-10-23 03:57:49 -07:00
Chris Robinson
aa92c6c0a8
Fix the ambisonic scaling used by custom decoders
2021-10-23 03:24:51 -07:00
Chris Robinson
f963a2c543
Remove some lingering mentions of surround51rear
2021-10-21 07:38:57 -07:00
Chris Robinson
15827b2887
Don't declare functions outside of where they're used
2021-10-21 06:03:37 -07:00
Chris Robinson
e70f3e97b3
Remove the last external uses of GetConfigValue
2021-10-21 05:54:03 -07:00
Devin Braune
0e9ce1aa83
Fix cone angle calculation ( #605 )
2021-10-14 11:18:54 -07:00
Chris Robinson
92b65fa15f
Avoid manually prefixing EventType_ enums
...
And use a better fitting type that matches how it's used
2021-10-10 05:07:31 -07:00
Chris Robinson
e3b8f8fe27
Make a construct_at method amd use it
2021-10-08 11:05:36 -07:00
Chris Robinson
c3e2fbef49
Avoid double indirection to access spa_data::datas
2021-10-07 13:36:33 -07:00
Chris Robinson
86abe8dca2
Fix the render step value for WinMM
2021-10-05 03:02:45 -07:00
Chris Robinson
53d9033ec7
Remove a couple unnecessary variables
2021-10-03 06:48:00 -07:00
Chris Robinson
38d3ea3501
Make simpler likely/unlikely functions and use them in some places
2021-10-03 06:41:14 -07:00
Chris Robinson
c66e4f5bd4
Use a constexpr char array instead of duplicating strings
2021-09-19 17:02:10 -07:00
Chris Robinson
52bfe430a3
Replace a hardcoded offset value
2021-09-14 15:09:58 -07:00
Chris Robinson
302d662c0a
Wait for the pipewire capture stream to start before returning
2021-09-13 14:30:38 -07:00
Chris Robinson
9c136bb3b4
Track whether nodes are marked as headphones
...
Newer versions of PipeWire copy the PW_KEY_DEVICE_FORM_FACTOR property to the
sink node, so this should work to detect whether the device should be treated
as headphones or not.
2021-09-12 03:04:46 -07:00
Chris Robinson
c40e7db82a
Use a constexpr char array for a reused prefix string
2021-09-12 02:19:38 -07:00
Chris Robinson
2df78e49b1
Use a local unique_ptr array instead of a struct member
...
For the sndio poll fds.
2021-09-01 20:10:30 -07:00
Chris Robinson
d97ff8f1c4
Remove a leftover debug trace
2021-09-01 20:06:24 -07:00
Chris Robinson
325523b06a
Fix when a PipeWire metadata property is being cleared
2021-09-01 20:06:24 -07:00