|
JPL Spatial
Sound spatialization and propagation library
|
#include <JPLSpatial/Auralization/EarlyReflectionsBus.h>
Classes | |
| struct | ERUpdateData |
Public Member Functions | |
| ERBus () | |
| ERBus (float sampleRate, uint32 numChannels) | |
| ~ERBus () | |
| void | Prepare (float sampleRate, uint32 numChannels) |
| Must be called from single non-audio thread. | |
| void | ProcessInterleaved (std::span< const float > input, std::span< float > output, uint32 numInputChannels, uint32 numFrames) |
| uint32 | GetNumChannels () const |
| void | SetTaps (std::span< const ERUpdateData > newERs) |
| Must be called from the same non-audio thread. | |
| uint32 | GetNumTaps () const |
Early Reflection Bus transfering ER data to audio rendering thread. It uses its own delay line with at least 2 seconds buffer space and performs rendering of early reflection using interpolating delay line taps, simulating propagation delay, applying pan and propagation filtering. The memory is managed by internal memory pool and default global JPL PMR allocator.
| JPL::ERBus::ERBus | ( | ) |
| JPL::ERBus::~ERBus | ( | ) |
|
inline |
|
inline |
Must be called from single non-audio thread.
| void JPL::ERBus::ProcessInterleaved | ( | std::span< const float > | input, |
| std::span< float > | output, | ||
| uint32 | numInputChannels, | ||
| uint32 | numFrames | ||
| ) |
Must be called from audio thread
| numInputChannels | : number of input channels, number of output channels in the output buffer must be equal to what ERBus was initialized to. |
@input and @output must have the same nubmer of frames
| void JPL::ERBus::SetTaps | ( | std::span< const ERUpdateData > | newERs | ) |
Must be called from the same non-audio thread.