3 #ifndef VISR_LIBRRL_PORTAUDIO_INTERFACE_HPP_INCLUDED 4 #define VISR_LIBRRL_PORTAUDIO_INTERFACE_HPP_INCLUDED 19 namespace audiointerfaces
22 class VISR_AUDIOINTERFACES_LIBRARY_SYMBOL
52 {
"signedInt8Bit", SampleFormat::signedInt8Bit },
53 {
"unsignedInt8Bit", SampleFormat::unsignedInt8Bit },
54 {
"signedInt16Bit", SampleFormat::signedInt16Bit },
55 {
"unsignedInt16Bit", SampleFormat::unsignedInt16Bit },
56 {
"signedInt24Bit", SampleFormat::signedInt24Bit },
57 {
"unsignedInt24Bit", SampleFormat::unsignedInt24Bit },
58 {
"signedInt32Bit", SampleFormat::signedInt32Bit },
59 {
"unsignedInt32Bit", SampleFormat::unsignedInt32Bit },
60 {
"float32Bit", SampleFormat::float32Bit }
65 auto const findIt = cTranslateSampleFormatMapString.find( format );
66 if( findIt == cTranslateSampleFormatMapString.end() ) {
67 throw std::invalid_argument(
"The given sample format does not match a sample format in portaudio." );
69 return findIt->second;
72 Config( std::string sampleFormat,
bool interleaved, std::string mHostApi);
107 void start()
override;
109 void stop()
override;
111 bool registerCallback(
AudioCallback callback,
void* userData )
override;
113 bool unregisterCallback(
AudioCallback audioCallback )
override;
118 std::size_t numberOfCaptureChannels()
const override;
123 std::size_t numberOfPlaybackChannels()
const override;
128 std::size_t period()
const override;
133 std::size_t samplingFrequency()
const override;
143 std::unique_ptr<Impl> mImpl;
149 #endif // #ifndef VISR_LIBRRL_PORTAUDIO_INTERFACE_HPP_INCLUDED Definition: portaudio_interface.hpp:29
std::map< std::string, SampleFormat::Type > TranslateSampleFormatMapTypeString
Definition: portaudio_interface.hpp:50
std::string mHostApi
Definition: portaudio_interface.hpp:96
SampleFormat::Type translateToSampleFormat(std::string format)
Definition: portaudio_interface.hpp:63
std::size_t mNumberOfPlaybackChannels
Definition: portaudio_interface.hpp:75
Definition: audio_interface.hpp:19
Definition: portaudio_interface.hpp:22
std::size_t SamplingRateType
Definition: portaudio_interface.hpp:81
Definition: options.cpp:10
bool mInterleaved
Definition: portaudio_interface.hpp:89
void(*)(void *, ExternalSampleType const *const *, ExternalSampleType *const *, bool &) AudioCallback
Definition: audio_interface.hpp:75
SamplingRateType mSampleRate
Definition: portaudio_interface.hpp:82
std::size_t mPeriodSize
Definition: portaudio_interface.hpp:76
std::size_t mNumberOfCaptureChannels
Definition: portaudio_interface.hpp:74
SampleFormat::Type mSampleFormat
Definition: portaudio_interface.hpp:48
Definition: portaudio_interface.cpp:93
Definition: audio_interface.hpp:29