3#include <unordered_map>
29 typedef std::unordered_map<
63 virtual std::string
Name()
const override;
float heph_audio_sample_t
Definition HephAudioShared.h:127
#define HEPH_API
Definition HephShared.h:124
class for storing the audio samples in internal format.
Definition AudioBuffer.h:16
remaps the audio channels.
Definition ChannelMapper.h:15
AudioChannelLayout targetLayout
Definition ChannelMapper.h:46
virtual void SetTargetLayout(const AudioChannelLayout &targetLayout)
virtual std::string Name() const override
virtual void ProcessST(const AudioBuffer &inputBuffer, AudioBuffer &outputBuffer, size_t startIndex, size_t frameCount) override
virtual ~ChannelMapper()=default
std::unordered_map< AudioChannelLayout, std::unordered_map< AudioChannelLayout, std::function< void(heph_audio_sample_t *, heph_audio_sample_t *)>, AudioChannelLayoutHasher >, AudioChannelLayoutHasher > ChannelMapperMap
Definition ChannelMapper.h:32
virtual AudioBuffer CreateOutputBuffer(const AudioBuffer &inputBuffer, size_t startIndex, size_t frameCount) const override
ChannelMapper(const AudioChannelLayout &targetLayout)
static ChannelMapperMap map
Definition ChannelMapper.h:39
static void SetMapping(const AudioChannelLayout &targetLayout, const AudioChannelLayout &inputLayout, const std::function< void(heph_audio_sample_t *, heph_audio_sample_t *)> &f)
virtual void InitializeOutputBuffer(const AudioBuffer &inputBuffer, AudioBuffer &outputBuffer, size_t startIndex, size_t frameCount) const override
virtual const AudioChannelLayout & GetTargetLayout() const
static ChannelMapperMap CreateMap()
base class for audio effects that use a temporary buffer while processing.
Definition DoubleBufferedAudioEffect.h:13
stores information about the channel layout.
Definition AudioChannelLayout.h:337
Definition ChannelMapper.h:18