VAE - Virtual Audio Engine 1
Small Data Driven Audio Engine
vae_backend.hpp
Go to the documentation of this file.
1#ifndef _VAE_BACKEND
2#define _VAE_BACKEND
3
4#include "../../../include/vae/vae.hpp"
5#include "../vae_types.hpp"
6
7namespace vae { namespace core {
8 class Device;
9
10 /**
11 * @brief Backend interface used to query devices before
12 * creating a actual device object
13 */
14 class Backend {
15 public:
16 /**
17 * @brief Returns name of the api
18 */
19 virtual const char* getName() const = 0;
20
21 /**
22 * @brief Gets number of devices, needed to iterate them.
23 * Device index != does not have to be the device index!
24 */
25 virtual Size getDeviceCount() = 0;
26
27 /**
28 * @brief Returns a spefic device info for index.
29 */
30 virtual DeviceInfo getDevice(Size index) = 0;
31
33
35
36 /**
37 * Creates a device instance for this backend
38 */
39 virtual Device* createDevice(const EngineConfig&) = 0;
40 }; // class Backend
41} } // vae::core
42
43#endif // _VAE_BACKEND
Backend interface used to query devices before creating a actual device object.
Definition: vae_backend.hpp:14
virtual DeviceInfo getDevice(Size index)=0
Returns a spefic device info for index.
virtual const char * getName() const =0
Returns name of the api.
virtual Device * createDevice(const EngineConfig &)=0
Creates a device instance for this backend.
virtual Size getDeviceCount()=0
Gets number of devices, needed to iterate them.
virtual DeviceInfo getDefaultOutputDevice()=0
virtual DeviceInfo getDefaultInputDevice()=0
Interface for audio devices.
Definition: vae_device.hpp:18
Contains Typedefinitions and basic structures use by the public API and internally.
Definition: vae.hpp:31
unsigned int Size
How the elements are addressed in the heapbuffer.
Definition: vae.hpp:33
Basic struct describing a audio device.
Definition: vae.hpp:102
Settings for the engine defined at EnginePimpl::init.
Definition: vae.hpp:157