VAE - Virtual Audio Engine
1
Small Data Driven Audio Engine
vae_effects_list.hpp
Go to the documentation of this file.
1
#ifndef _VAE_EFFECTS_LIST
2
#define _VAE_EFFECTS_LIST
3
4
#include "../vae_util.hpp"
5
#include "
./vae_effect_base.hpp
"
6
7
namespace
vae
{
namespace
core {
namespace
effect {
8
class
EffectsFactory;
9
10
class
EffectsList
{
11
friend
EffectsFactory
;
12
using
Constructor
=
EffectBase
* (*)();
13
struct
RegisteredEffect
{
14
const
char
*
name
=
nullptr
;
15
Constructor
construtor
=
nullptr
;
16
};
17
RegisteredEffect
mEffects
[16];
18
EffectsList
() { }
19
20
public
:
21
static
EffectsList
&
instance
() {
22
static
EffectsList
i;
23
return
i;
24
}
25
26
void
add
(
const
char
* name,
Constructor
constructor) {
27
for
(
auto
& i :
mEffects
) {
28
if
(i.name !=
nullptr
) {
continue
; }
29
i = { name, constructor };
30
return
;
31
}
32
VAE_ASSERT
(
false
)
// can't add effect
33
}
34
};
35
} } }
// vae::core::faust
36
37
#include "
./generated/reverb_gen.hpp
"
38
39
#endif
// _VAE_EFFECTS_LIST
vae::core::effect::EffectBase
Base for all effects.
Definition:
vae_effect_base.hpp:12
vae::core::effect::EffectsList
Definition:
vae_effects_list.hpp:10
vae::core::effect::EffectsList::EffectsList
EffectsList()
Definition:
vae_effects_list.hpp:18
vae::core::effect::EffectsList::EffectsFactory
friend EffectsFactory
Definition:
vae_effects_list.hpp:11
vae::core::effect::EffectsList::mEffects
RegisteredEffect mEffects[16]
Definition:
vae_effects_list.hpp:17
vae::core::effect::EffectsList::Constructor
EffectBase *(*)() Constructor
Definition:
vae_effects_list.hpp:12
vae::core::effect::EffectsList::instance
static EffectsList & instance()
Definition:
vae_effects_list.hpp:21
vae::core::effect::EffectsList::add
void add(const char *name, Constructor constructor)
Definition:
vae_effects_list.hpp:26
vae
Contains Typedefinitions and basic structures use by the public API and internally.
Definition:
vae.hpp:31
reverb_gen.hpp
vae::core::effect::EffectsList::RegisteredEffect
Definition:
vae_effects_list.hpp:13
vae::core::effect::EffectsList::RegisteredEffect::construtor
Constructor construtor
Definition:
vae_effects_list.hpp:15
vae::core::effect::EffectsList::RegisteredEffect::name
const char * name
Definition:
vae_effects_list.hpp:14
vae_effect_base.hpp
VAE_ASSERT
#define VAE_ASSERT(condition)
Definition:
vae_util.hpp:11
src
core
dsp
vae_effects_list.hpp
Generated by
1.9.2