# Amuse: include/amuse/IBackendSubmix.hpp Source File

IBackendSubmix.hpp
#ifndef __AMUSE_IBACKENDSUBMIX_HPP__
#define __AMUSE_IBACKENDSUBMIX_HPP__
#include <memory>
namespace amuse
{
class IBackendVoice;
class Voice;
enum class SubmixFormat
{
Int16,
Int32,
Float
};
class IBackendSubmix
{
public:
virtual ~IBackendSubmix() = default;
virtual void setChannelGains(const float gains[8])=0;
virtual std::unique_ptr<IBackendVoice> allocateVoice(Voice& clientVox, double sampleRate, bool dynamicPitch)=0;
virtual double getSampleRate() const=0;
virtual SubmixFormat getSampleFormat() const=0;
};
}
#endif // __AMUSE_IBACKENDSUBMIX_HPP__
amuse
Definition: AudioGroup.hpp:8
amuse::Voice
Definition: Voice.hpp:30
amuse::IBackendSubmix
Definition: IBackendSubmix.hpp:19