Amuse
Main Page
Classes
Files
File List
IBackendVoiceAllocator.hpp
1
#ifndef __AMUSE_IBACKENDVOICEALLOCATOR_HPP__
2
#define __AMUSE_IBACKENDVOICEALLOCATOR_HPP__
3
4
#include <memory>
5
6
namespace
amuse
7
{
8
class
IBackendVoice;
9
class
IBackendSubmix;
10
class
Voice;
11
class
Submix;
12
14
enum class
AudioChannelSet
15
{
16
Stereo,
17
Quad,
18
Surround51,
19
Surround71,
20
Unknown = 0xff
21
};
22
24
class
IBackendVoiceAllocator
25
{
26
public
:
27
virtual
~
IBackendVoiceAllocator
() =
default
;
28
30
virtual
std::unique_ptr<IBackendVoice> allocateVoice(
Voice
& clientVox,
31
double
sampleRate,
32
bool
dynamicPitch)=0;
33
35
virtual
std::unique_ptr<IBackendSubmix> allocateSubmix(
Submix
& clientSmx)=0;
36
38
virtual
AudioChannelSet getAvailableSet()=0;
39
41
virtual
void
pumpAndMixVoices()=0;
42
};
43
44
}
45
46
#endif // __AMUSE_IBACKENDVOICEALLOCATOR_HPP__
amuse
Definition:
AudioGroup.hpp:8
amuse::Voice
Definition:
Voice.hpp:30
amuse::Submix
Definition:
Submix.hpp:20
amuse::IBackendVoiceAllocator
Definition:
IBackendVoiceAllocator.hpp:24
include
amuse
IBackendVoiceAllocator.hpp
Generated on Wed May 18 2016 20:05:19 for Amuse by
1.8.11