amuse/include/amuse/IBackendSubmix.hpp

22 lines
586 B
C++

#pragma once
namespace amuse {
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;
};
} // namespace amuse