#include <vae_mixer_processor.hpp>
Definition at line 12 of file vae_mixer_processor.hpp.
◆ init()
void vae::core::MixerProcessor::init |
( |
| ) |
|
|
inline |
◆ mix()
Process the mixers for a single bank.
- Parameters
-
mix all non master mixers start from back since mixer can only write to mixer with a lower id than themselves to avoid recursion
Definition at line 25 of file vae_mixer_processor.hpp.
36 for (
Uint i =
Uint(bank.mixers.size()) - 1; 0 < i; i--) {
38 auto& sourceMixer = bank.mixers[i];
40 if (sourceMixer.buffer.validSize() == 0) {
continue; }
42 for (
auto& effect : sourceMixer.effects) {
48 sourceMixer.buffer.multiply(sourceMixer.gain);
49 auto& targetMixer = bank.mixers[sourceMixer.parent];
52 targetMixer.buffer.setValidSize(frames);
54 targetMixer.buffer.add(sourceMixer.buffer);
57 sourceMixer.buffer.set(0);
61 for (
auto& effect : masterMixer.effects) {
65 masterMixer.buffer.multiply(masterMixer.gain);
void mix(Effect &effect, ScratchBuffer &buffer)
static constexpr MixerHandle MasterMixerHandle
This is the master mixer for a bank.
#define VAE_PROFILER_SCOPE_NAMED(name)
Profiles a scope and names it.
#define VAE_ASSERT(condition)
◆ mEffectsProcessor
The documentation for this class was generated from the following file: