diff options
author | Chris Robinson <[email protected]> | 2020-12-26 05:23:08 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2020-12-26 05:23:08 -0800 |
commit | 8a86ec8ac5cb9ae1f766bd33893bf2e6729b1025 (patch) | |
tree | 3b6a0463c5d9fb48e0bb87f4317d16102ae06b8b /alc/hrtf.cpp | |
parent | 5f233a2c24de58fde98e08ad8acb6cfe1803d716 (diff) |
Add a crossover frequency field for the device
Used when upsampling low-order ambisonic signals to higher order. Rather than a
hardcoded 400hz, it ensures a consistent crossover point when an ambdec
configuration is used. It can also allow for an alsoft config option.
Diffstat (limited to 'alc/hrtf.cpp')
-rw-r--r-- | alc/hrtf.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/alc/hrtf.cpp b/alc/hrtf.cpp index f8a5f214..28d85177 100644 --- a/alc/hrtf.cpp +++ b/alc/hrtf.cpp @@ -279,7 +279,7 @@ std::unique_ptr<DirectHrtfState> DirectHrtfState::Create(size_t num_chans) void DirectHrtfState::build(const HrtfStore *Hrtf, const uint irSize, const al::span<const AngularPoint> AmbiPoints, const float (*AmbiMatrix)[MaxAmbiChannels], - const al::span<const float,MaxAmbiOrder+1> AmbiOrderHFGain) + const float XOverFreq, const al::span<const float,MaxAmbiOrder+1> AmbiOrderHFGain) { using double2 = std::array<double,2>; struct ImpulseResponse { @@ -287,7 +287,7 @@ void DirectHrtfState::build(const HrtfStore *Hrtf, const uint irSize, uint ldelay, rdelay; }; - const double xover_norm{400.0 / Hrtf->sampleRate}; + const double xover_norm{double{XOverFreq} / Hrtf->sampleRate}; for(size_t i{0};i < mChannels.size();++i) { const size_t order{AmbiIndex::OrderFromChannel[i]}; |