VAE - Virtual Audio Engine 1
Small Data Driven Audio Engine
vae::core Namespace Reference

Namespaces

namespace  effect
 
namespace  fs
 
namespace  memory
 
namespace  profiler
 

Classes

class  Backend
 Backend interface used to query devices before creating a actual device object. More...
 
class  BackendDummy
 
class  BackendPortAudio
 
class  BackendRtAudio
 
struct  Bank
 Bank object containing Sources, Mixers and Events Can be loaded and unloaded at runtime. More...
 
class  BankLoader
 
class  BankManager
 Holds all the banks. More...
 
struct  Convolve
 
class  Device
 Interface for audio devices. More...
 
class  DeviceDummy
 Backend without functionality. More...
 
class  DevicePortaudio
 Portaudio backend implementation. More...
 
class  DeviceRtaudio
 
struct  Effect
 Effect pod. More...
 
class  EffectsProcessor
 
struct  Emitter
 Allows placement of a Sound in 3D. More...
 
class  Engine
 Central class handling all outside communication. More...
 
struct  Event
 An Event is used to control most of the eingines behavior. More...
 
struct  HRTF
 
class  HRTFLoader
 
struct  HRTFUtil
 
struct  Listener
 
struct  Mixer
 
class  MixerProcessor
 
class  Processor
 Non spatial voice processor. More...
 
struct  Source
 
struct  SourceLoader
 
class  SpatialManager
 
class  SpatialProcessor
 
struct  SPCAP
 Struct containing SPCAP and preconfigured speaker setups. More...
 
struct  Voice
 Barebones voice. More...
 
struct  VoiceFilter
 Additional data needed for filtered voices. More...
 
struct  VoiceHRTF
 Data needed to process HRTFs. More...
 
class  VoiceManger
 There is only one voice pool and VAE and it's managed here. More...
 
struct  VoicePan
 Data to interpolate panning between blocks or do manual pan. More...
 

Typedefs

using DefaultBackend = BackendDummy
 
using Listeners = Listener[StaticConfig::MaxListeners]
 
using Uchar = unsigned char
 
using Uint = unsigned int
 
using Vec3 = glm::vec3
 
using Real = float
 
using Mutex = std::mutex
 
using Lock = std::unique_lock< Mutex >
 
template<class T >
using HeapBuffer = tklb::HeapBuffer< T, 0, memory::AllocatorMain< unsigned char > >
 
using AudioBuffer = tklb::AudioBufferTpl< Sample, tklb::HeapBuffer< Sample, tklb::DEFAULT_ALIGNMENT, memory::AllocatorAudio< unsigned char > > >
 Buffer type to hold all the audio data meant for playback. More...
 
using ScratchBuffer = tklb::AudioBufferTpl< Sample, tklb::HeapBuffer< Sample, tklb::DEFAULT_ALIGNMENT, memory::AllocatorScratch< unsigned char > > >
 Buffer type to do all the work like mixing, filtering and so on. More...
 
using RingBuffer = tklb::AudioRingBufferTpl< Sample, tklb::HeapBuffer< Sample, tklb::DEFAULT_ALIGNMENT, memory::AllocatorScratch< unsigned char > > >
 
using SampleIndex = AudioBuffer::Size
 
using NameString = tklb::StackString< 16 >
 Used for debug names. More...
 
using String = tklb::String< HeapBuffer< char > >
 
using PathString = tklb::String< HeapBuffer< char > >
 Non optional string used for locations, maybe replaceable with a unique_ptr or something. More...
 
using IdString = tklb::StackString< 16 >
 Non optional string used to id things. More...
 

Functions

constexpr void splitGlobalEventHandle (const GlobalEventHandle &handle, BankHandle &bank, EventHandle &event)
 

Variables

constexpr int _VAE_DEVICE_SIZE = sizeof(Device)
 
constexpr int _VAE_BANK_SIZE = sizeof(Bank)
 
constexpr int _VAE_EMITTER_SIZE = sizeof(Emitter)
 
constexpr int _VAE_EVENT_SIZE = sizeof(Event)
 
constexpr int _VAE_LISTENER_SIZE = sizeof(Listener)
 
constexpr int _VAE_MIXER_SIZE = sizeof(Mixer)
 
constexpr int _VAE_BUF_SIZE = sizeof(AudioBuffer)
 
constexpr int _VAE_SOURCE_SIZE = sizeof(Source)
 
constexpr int _VAE_SPATIAL_PROCESSOR_SIZE = sizeof(SpatialProcessor)
 
constexpr int _VAE_SIZE_BANK_MANAGER = sizeof(BankManager)
 
constexpr int _VAE_ENGINE_SIZE = sizeof(Engine)
 
constexpr int _VAE_SIZE_SPATIAL_MANAGER = sizeof(SpatialManager)
 
constexpr int _VAE_SIZE_VOICE_MANAGER = sizeof(VoiceManger)
 
constexpr int _VAE_VOICE_SIZE = sizeof(Voice)
 
constexpr int _VAE_VOICE_FILTER_FILTERED_SIZE = sizeof(VoiceFilter)
 
constexpr int _VAE_VOICE_HRTF_SIZE = sizeof(VoiceHRTF)
 
constexpr int _VAE_VOICE_PAN_PIP_SIZE = sizeof(VoicePan)
 

Typedef Documentation

◆ AudioBuffer

Buffer type to hold all the audio data meant for playback.

Definition at line 66 of file vae_types.hpp.

◆ DefaultBackend

Definition at line 19 of file vae_default_backend.hpp.

◆ HeapBuffer

template<class T >
using vae::core::HeapBuffer = typedef tklb::HeapBuffer<T, 0, memory::AllocatorMain<unsigned char> >

Definition at line 61 of file vae_types.hpp.

◆ IdString

Non optional string used to id things.

Definition at line 96 of file vae_types.hpp.

◆ Listeners

Definition at line 33 of file vae_listener.hpp.

◆ Lock

using vae::core::Lock = typedef std::unique_lock<Mutex>

Definition at line 53 of file vae_types.hpp.

◆ Mutex

using vae::core::Mutex = typedef std::mutex

Definition at line 52 of file vae_types.hpp.

◆ NameString

Used for debug names.

Definition at line 92 of file vae_types.hpp.

◆ PathString

Non optional string used for locations, maybe replaceable with a unique_ptr or something.

Definition at line 95 of file vae_types.hpp.

◆ Real

using vae::core::Real = typedef float

Definition at line 48 of file vae_types.hpp.

◆ RingBuffer

◆ SampleIndex

Definition at line 87 of file vae_types.hpp.

◆ ScratchBuffer

Buffer type to do all the work like mixing, filtering and so on.

Definition at line 75 of file vae_types.hpp.

◆ String

using vae::core::String = typedef tklb::String<HeapBuffer<char> >

Definition at line 94 of file vae_types.hpp.

◆ Uchar

using vae::core::Uchar = typedef unsigned char

Definition at line 45 of file vae_types.hpp.

◆ Uint

using vae::core::Uint = typedef unsigned int

Definition at line 46 of file vae_types.hpp.

◆ Vec3

using vae::core::Vec3 = typedef glm::vec3

Definition at line 47 of file vae_types.hpp.

Function Documentation

◆ splitGlobalEventHandle()

constexpr void vae::core::splitGlobalEventHandle ( const GlobalEventHandle handle,
BankHandle bank,
EventHandle event 
)
constexpr

Definition at line 18 of file vae_util.hpp.

21 {
22 bank = handle >> (sizeof(EventHandle) * 8);
23 event = (handle & InvalidEventHandle);
24 }
constexpr EventHandle InvalidEventHandle
Definition: vae.hpp:55
GenericHandle EventHandle
The handle used to address events within a bank.
Definition: vae.hpp:41
Here is the caller graph for this function:

Variable Documentation

◆ _VAE_BANK_SIZE

constexpr int vae::core::_VAE_BANK_SIZE = sizeof(Bank)
constexpr

Definition at line 23 of file vae_bank.hpp.

◆ _VAE_BUF_SIZE

constexpr int vae::core::_VAE_BUF_SIZE = sizeof(AudioBuffer)
constexpr

Definition at line 34 of file vae_source.hpp.

◆ _VAE_DEVICE_SIZE

constexpr int vae::core::_VAE_DEVICE_SIZE = sizeof(Device)
constexpr

Definition at line 306 of file vae_device.hpp.

◆ _VAE_EMITTER_SIZE

constexpr int vae::core::_VAE_EMITTER_SIZE = sizeof(Emitter)
constexpr

Definition at line 19 of file vae_emitter.hpp.

◆ _VAE_ENGINE_SIZE

constexpr int vae::core::_VAE_ENGINE_SIZE = sizeof(Engine)
constexpr

Definition at line 856 of file vae_engine.hpp.

◆ _VAE_EVENT_SIZE

constexpr int vae::core::_VAE_EVENT_SIZE = sizeof(Event)
constexpr

Definition at line 53 of file vae_event.hpp.

◆ _VAE_LISTENER_SIZE

constexpr int vae::core::_VAE_LISTENER_SIZE = sizeof(Listener)
constexpr

Definition at line 35 of file vae_listener.hpp.

◆ _VAE_MIXER_SIZE

constexpr int vae::core::_VAE_MIXER_SIZE = sizeof(Mixer)
constexpr

Definition at line 31 of file vae_mixer.hpp.

◆ _VAE_SIZE_BANK_MANAGER

constexpr int vae::core::_VAE_SIZE_BANK_MANAGER = sizeof(BankManager)
constexpr

Definition at line 198 of file vae_bank_manager.hpp.

◆ _VAE_SIZE_SPATIAL_MANAGER

constexpr int vae::core::_VAE_SIZE_SPATIAL_MANAGER = sizeof(SpatialManager)
constexpr

Definition at line 215 of file vae_spatial_manager.hpp.

◆ _VAE_SIZE_VOICE_MANAGER

constexpr int vae::core::_VAE_SIZE_VOICE_MANAGER = sizeof(VoiceManger)
constexpr

Definition at line 415 of file vae_voice_manager.hpp.

◆ _VAE_SOURCE_SIZE

constexpr int vae::core::_VAE_SOURCE_SIZE = sizeof(Source)
constexpr

Definition at line 35 of file vae_source.hpp.

◆ _VAE_SPATIAL_PROCESSOR_SIZE

constexpr int vae::core::_VAE_SPATIAL_PROCESSOR_SIZE = sizeof(SpatialProcessor)
constexpr

Definition at line 293 of file vae_spatial_processor.hpp.

◆ _VAE_VOICE_FILTER_FILTERED_SIZE

constexpr int vae::core::_VAE_VOICE_FILTER_FILTERED_SIZE = sizeof(VoiceFilter)
constexpr

Definition at line 30 of file vae_voice_filter.hpp.

◆ _VAE_VOICE_HRTF_SIZE

constexpr int vae::core::_VAE_VOICE_HRTF_SIZE = sizeof(VoiceHRTF)
constexpr

Definition at line 17 of file vae_voice_hrtf.hpp.

◆ _VAE_VOICE_PAN_PIP_SIZE

constexpr int vae::core::_VAE_VOICE_PAN_PIP_SIZE = sizeof(VoicePan)
constexpr

Definition at line 24 of file vae_voice_pan.hpp.

◆ _VAE_VOICE_SIZE

constexpr int vae::core::_VAE_VOICE_SIZE = sizeof(Voice)
constexpr

Definition at line 37 of file vae_voice.hpp.