VAE - Virtual Audio Engine 1
Small Data Driven Audio Engine
vae_bank.hpp
Go to the documentation of this file.
1#ifndef _VAE_BANK
2#define _VAE_BANK
3
4#include "../vae_types.hpp"
5#include "./vae_source.hpp"
6#include "./vae_event.hpp"
7#include "./vae_mixer.hpp"
8
9namespace vae { namespace core {
10 /**
11 * @brief Bank object containing Sources, Mixers and Events
12 * Can be loaded and unloaded at runtime
13 */
14 struct Bank {
15 HeapBuffer<Source> sources; ///< Audio sources defined
16 HeapBuffer<Mixer> mixers; ///< Audio Mixers which can have effects ! is presorted !
17 HeapBuffer<Event> events; ///< Events defined
19 PathString path; ///< Path to the bank definition file
20 NameString name; ///< Name of the bank used for debugging, needs to be last so it can be zero sized
21 };
22
23 constexpr int _VAE_BANK_SIZE = sizeof(Bank);
24} } // namespace vae::vore
25
26#endif // _VAE_BANK
Basically a bad std::vector without exceptions which can also work with foreign memory.
Definition: THeapBuffer.hpp:49
constexpr int _VAE_BANK_SIZE
Definition: vae_bank.hpp:23
Contains Typedefinitions and basic structures use by the public API and internally.
Definition: vae.hpp:31
SmallHandle BankHandle
Definition: vae.hpp:40
constexpr BankHandle InvalidBankHandle
Definition: vae.hpp:57
Bank object containing Sources, Mixers and Events Can be loaded and unloaded at runtime.
Definition: vae_bank.hpp:14
NameString name
Name of the bank used for debugging, needs to be last so it can be zero sized.
Definition: vae_bank.hpp:20
HeapBuffer< Mixer > mixers
Audio Mixers which can have effects ! is presorted !
Definition: vae_bank.hpp:16
PathString path
Path to the bank definition file.
Definition: vae_bank.hpp:19
HeapBuffer< Event > events
Events defined.
Definition: vae_bank.hpp:17
HeapBuffer< Source > sources
Audio sources defined.
Definition: vae_bank.hpp:15