VAE - Virtual Audio Engine 1
Small Data Driven Audio Engine
vae_mixer.hpp
Go to the documentation of this file.
1#ifndef _VAE_MIXER
2#define _VAE_MIXER
3
4#include "../vae_types.hpp"
5#include "./vae_effect.hpp"
6#include "../vae_config.hpp"
7
8namespace vae { namespace core {
9 struct Mixer {
10 /**
11 * @brief This is the master mixer for a bank
12 */
13 static constexpr MixerHandle MasterMixerHandle = 0;
14 ScratchBuffer buffer; // not very POD
17 /**
18 * @brief The handle of the mixer the signal will be routed to.
19 * 0 is always the bank master and the default.
20 */
23 NameString name; // name for debugging
24
26 gain = 1.0;
28 }
29 };
30
31 constexpr int _VAE_MIXER_SIZE = sizeof(Mixer);
32} } // vae::core
33
34#endif // _VAE_MIXER
constexpr Size MaxMixerEffects
How many effects a mixer channel can process.
Definition: vae.hpp:294
constexpr int _VAE_MIXER_SIZE
Definition: vae_mixer.hpp:31
Contains Typedefinitions and basic structures use by the public API and internally.
Definition: vae.hpp:31
float Sample
Default sample types used where ever possible, changing this means the engine needs to be recompiled,...
Definition: vae.hpp:32
SmallHandle MixerHandle
Definition: vae.hpp:44
constexpr MixerHandle InvalidMixerHandle
Definition: vae.hpp:58
Effect pod.
Definition: vae_effect.hpp:12
NameString name
Definition: vae_mixer.hpp:23
ScratchBuffer buffer
Definition: vae_mixer.hpp:14
Effect effects[StaticConfig::MaxMixerEffects]
Definition: vae_mixer.hpp:22
static constexpr MixerHandle MasterMixerHandle
This is the master mixer for a bank.
Definition: vae_mixer.hpp:13
MixerHandle parent
Definition: vae_mixer.hpp:16