mirror of https://github.com/AxioDL/amuse.git
36 lines
747 B
C++
36 lines
747 B
C++
#ifndef __AMUSE_IBACKENDSUBMIX_HPP__
|
|
#define __AMUSE_IBACKENDSUBMIX_HPP__
|
|
|
|
#include <memory>
|
|
|
|
namespace amuse
|
|
{
|
|
class IBackendVoice;
|
|
class Voice;
|
|
|
|
enum class SubmixFormat
|
|
{
|
|
Int16,
|
|
Int32,
|
|
Float
|
|
};
|
|
|
|
/** Client-implemented submix instance */
|
|
class IBackendSubmix
|
|
{
|
|
public:
|
|
virtual ~IBackendSubmix() = default;
|
|
|
|
/** Set send level for submix (AudioChannel enum for array index) */
|
|
virtual void setSendLevel(IBackendSubmix* submix, float level, bool slew) = 0;
|
|
|
|
/** Amuse gets fixed sample rate of submix this way */
|
|
virtual double getSampleRate() const = 0;
|
|
|
|
/** Amuse gets fixed sample format of submix this way */
|
|
virtual SubmixFormat getSampleFormat() const = 0;
|
|
};
|
|
}
|
|
|
|
#endif // __AMUSE_IBACKENDSUBMIX_HPP__
|