Chris Robinson
4115df49cf
Pass the action flags to AudioUnitRender from the callback
2022-08-17 03:56:53 -07:00
Chris Robinson
90f02176dd
Inline a function and remove an unnecessary parameter
2022-08-16 13:00:03 -07:00
Chris Robinson
832ccd7f48
Pass the bus number to AudioUnitRender from the callback
2022-08-16 12:57:21 -07:00
Chris Robinson
82c5b741e5
Use proper array sizes for more gains
2022-08-15 12:56:36 -07:00
Chris Robinson
f9e6fbaeff
Use amplitude-matching HF scaling for non-FOA HRTF output
2022-08-15 12:54:34 -07:00
Chris Robinson
e805c62152
Use the proper type for a global definition
...
Some compilers don't seem to like auto deduction for defining a declared
variable.
2022-08-15 09:39:45 -07:00
Chris Robinson
a8491ae513
Update in incorrect comment
2022-08-15 09:09:52 -07:00
Chris Robinson
6d5580805e
Use a decode-encode method for ambisonic upsampling
...
This should allow for clearer and less diffuse responses. While a cube is in
the blindspots for second-order, resulting in an identify transform for first-
to-second-order, they do start contributing to third-order channels, which
should make for sharper virtual points. The fixed HF scales should also play
nicer with larger order upmixes.
2022-08-15 09:01:03 -07:00
Chris Robinson
fbfa8a2686
Use the right array size for the mixing parameters
2022-08-14 10:07:32 -07:00
Chris Robinson
4f346caea3
Update some arrays in preparation for fourth order support
2022-08-14 00:56:38 -07:00
Chris Robinson
5f6b7f9166
Update the default HRTF
...
The sample rate is now 48khz to match the library's default sample rate, and
increased the FIR length to 64 points from 32.
2022-08-13 22:51:47 -07:00
Chris Robinson
dd3f03c148
Move a member variable to the struct it's needed
2022-08-09 22:19:11 -07:00
Chris Robinson
63a82feae6
Rename the UHJ filter config option
2022-08-09 04:01:31 -07:00
Chris Robinson
7e5dd41968
Add an option for higher quality UHJ filters
2022-08-08 03:44:25 -07:00
Chris Robinson
250f162496
Parameterize the UHJ filter length
2022-08-07 13:09:12 -07:00
Chris Robinson
b77a556d7b
Clear the buffer from X-RAM before updating its size
2022-08-05 12:11:02 -07:00
Chris Robinson
9d296a9c75
Avoid putting a 1KB array on the stack
2022-08-02 23:29:21 -07:00
Chris Robinson
b286e6497f
Rework multi-channel source radius handling
...
Rather than applying the calculated spread to each virtual channel, the spread
indicates how much the virtual channels surround the listener. At full spread,
the channels retain their virtual speaker positions, while at no spread, all
channels converge on the source position. This behavior is more consistent with
B-Format sources.
2022-08-02 18:26:49 -07:00
Chris Robinson
a1faa5d311
Change an inline function to a class method
2022-08-02 18:26:49 -07:00
Chris Robinson
810821a221
Simplify calculating nearest HRIR index
2022-08-02 18:26:49 -07:00
Chris Robinson
a700edc171
Check the channel count for a valid DecoderView
...
Ambisonic decoders can be zeroth order, but they need at least one output
channel.
2022-08-02 18:26:49 -07:00
Eir W
5bea47915a
Add media class for Audio/Source/Virtual as a valid node ( #747 )
2022-08-02 18:26:29 -07:00
Chris Robinson
b26ca6b65e
Add missing include for FreeBSD
2022-07-29 03:06:07 -07:00
Chris Robinson
81b739abc1
AllocEffectSlot can't fail
2022-07-29 02:59:10 -07:00
Chris Robinson
339465c91f
Use an intrusive_ptr to hold on to the EffectState
2022-07-29 01:49:30 -07:00
Chris Robinson
f35eb64619
Ensure some mixing buffers are aligned for SIMD
2022-07-26 02:21:47 -07:00
Chris Robinson
fdc0132f44
Mark the EffectSlot in use after getting one
2022-07-26 01:48:40 -07:00
Chris Robinson
7dcd2a86b8
Avoid __try on ARMv7 targets with MSVC
2022-07-24 17:09:50 -07:00
Chris Robinson
e5786ceb59
Fix a typo in a comment
2022-07-22 18:31:32 -07:00
Chris Robinson
1b28a24f6e
Don't assume rlim_t is unsigned
2022-07-22 17:29:50 -07:00
Chris Robinson
3f94e1c70a
Update a config comment about the default sample rate
2022-07-21 12:48:44 -07:00
Chris Robinson
a6ca55ca4e
Use the reverb air absorption for the send paths
2022-07-19 22:38:36 -07:00
Chris Robinson
10eca3e7c3
Silence an inline failure warning with GCC
2022-07-19 15:48:40 -07:00
Chris Robinson
650a6d49e9
Declare variables closer to where they're used
2022-07-18 11:10:27 -07:00
Chris Robinson
0650d4ee70
Remove a redundant check
...
If src_occlusion_mb is 0, it'll be multiplied with whatever the ratio ends up
being, which will result in 0 anyway. A number of uses also already check the
occlusion value before calling the method.
2022-07-17 20:02:54 -07:00
Chris Robinson
0d2eeda9c1
Fix parameter signedness
2022-07-17 18:12:21 -07:00
Chris Robinson
263e9aab11
Update some outdated docs
2022-07-17 18:12:21 -07:00
Chris Robinson
4cbb271819
Avoid duplicate initializations for multiple filters
...
Just initialize the first and copy it to the others.
2022-07-17 18:12:21 -07:00
Edoardo Lolletti
e28a49363e
Fix possible C2084 compiler error ( #735 )
...
* Fix possible C2084 compiler error
Guiddef.h uses a separate header guard to define the GUID operators, in the current codebase this won't cause any issue, but i got such error while fiddling a bit with the program and including something that ended up including all the various windows headers, that ended up including Guiddef.h, causing the error as by not finding the macro declared, it ended up declaring the inline operators as well.
* Update api.h
2022-07-17 18:11:32 -07:00
kcat
c6064a2034
Merge pull request #734 from bibendovsky/wip_20220714
...
[EAX] Various fixes
2022-07-17 13:28:47 -07:00
Boris I. Bendovsky
7e9c0285b4
[EAX_SOURCE] Fix source's occlusion and exclusion contribution
...
Source's oclussion and exclusion properties should be taken into account only for listener's environment (see p. 16, p. 56, pp. 62-63 and p. 64 of "EAX® 4.0 Programmer’s Guide").
2022-07-17 21:06:41 +03:00
Boris I. Bendovsky
6f3500f458
[EAX_FX_SLOT] Fix setting EAX5 flags
2022-07-17 20:59:07 +03:00
Boris I. Bendovsky
51a48e32ba
[EAX_CONTEXT] Fix defaults for current properties
2022-07-17 20:59:07 +03:00
Boris I. Bendovsky
e24f124a89
[EAX_FX_SLOT] Fix defaults for current properties
2022-07-17 20:59:06 +03:00
Boris I. Bendovsky
71ac63e5a8
[EAX_SOURCE] Skip occlusion calculation if occlusion property is zero
2022-07-17 20:59:06 +03:00
Boris I. Bendovsky
1f238a602f
[EAX_SOURCE] Fix Room and RoomHF contribution
...
Those properties should be taken into account only for environmental effect slot (see pp. 60-61 of "EAX® 4.0 Programmer’s Guide").
2022-07-17 20:59:06 +03:00
Boris I. Bendovsky
f7b4dd002f
[EAX_CONTEXT] Fix committing of a property value
2022-07-17 20:59:05 +03:00
Boris I. Bendovsky
1a2f659d89
[EAX_SOURCE] Fix getting active FX slot IDs
2022-07-17 20:59:05 +03:00
Boris I. Bendovsky
74c923edce
[EAX_FX_SLOT] Fix slot's occlusion contribution
2022-07-17 20:59:05 +03:00
Boris I. Bendovsky
8de2a56068
[EAX_CALL] Clear defer flag for immediate-only properties
...
EAX allow to set "defer" flag on immediate-only properties. If we don't clear our flag then "applyAllUpdates" in EAX context won't be called.
2022-07-17 20:59:04 +03:00