annotate src/portaudio_20161030/bindings/cpp/include/portaudiocpp/DirectionSpecificStreamParameters.hxx @ 81:7029a4916348

Merge build update
author Chris Cannam
date Thu, 31 Oct 2019 13:36:58 +0000
parents 284acf908dcd
children
rev   line source
Chris@55 1 #ifndef INCLUDED_PORTAUDIO_SINGLEDIRECTIONSTREAMPARAMETERS_HXX
Chris@55 2 #define INCLUDED_PORTAUDIO_SINGLEDIRECTIONSTREAMPARAMETERS_HXX
Chris@55 3
Chris@55 4 // ---------------------------------------------------------------------------------------
Chris@55 5
Chris@55 6 #include <cstddef>
Chris@55 7
Chris@55 8 #include "portaudio.h"
Chris@55 9
Chris@55 10 #include "portaudiocpp/System.hxx"
Chris@55 11 #include "portaudiocpp/SampleDataFormat.hxx"
Chris@55 12
Chris@55 13 // ---------------------------------------------------------------------------------------
Chris@55 14
Chris@55 15 // Forward declaration(s):
Chris@55 16 namespace portaudio
Chris@55 17 {
Chris@55 18 class Device;
Chris@55 19 }
Chris@55 20
Chris@55 21 // ---------------------------------------------------------------------------------------
Chris@55 22
Chris@55 23 // Declaration(s):
Chris@55 24 namespace portaudio
Chris@55 25 {
Chris@55 26
Chris@55 27 //////
Chris@55 28 /// @brief All parameters for one direction (either in or out) of a Stream. Together with
Chris@55 29 /// parameters common to both directions, two DirectionSpecificStreamParameters can make up
Chris@55 30 /// a StreamParameters object which contains all parameters for a Stream.
Chris@55 31 //////
Chris@55 32 class DirectionSpecificStreamParameters
Chris@55 33 {
Chris@55 34 public:
Chris@55 35 static DirectionSpecificStreamParameters null();
Chris@55 36
Chris@55 37 DirectionSpecificStreamParameters();
Chris@55 38 DirectionSpecificStreamParameters(const Device &device, int numChannels, SampleDataFormat format,
Chris@55 39 bool interleaved, PaTime suggestedLatency, void *hostApiSpecificStreamInfo);
Chris@55 40
Chris@55 41 // Set up methods:
Chris@55 42 void setDevice(const Device &device);
Chris@55 43 void setNumChannels(int numChannels);
Chris@55 44
Chris@55 45 void setSampleFormat(SampleDataFormat format, bool interleaved = true);
Chris@55 46 void setHostApiSpecificSampleFormat(PaSampleFormat format, bool interleaved = true);
Chris@55 47
Chris@55 48 void setSuggestedLatency(PaTime latency);
Chris@55 49
Chris@55 50 void setHostApiSpecificStreamInfo(void *streamInfo);
Chris@55 51
Chris@55 52 // Accessor methods:
Chris@55 53 PaStreamParameters *paStreamParameters();
Chris@55 54 const PaStreamParameters *paStreamParameters() const;
Chris@55 55
Chris@55 56 Device &device() const;
Chris@55 57 int numChannels() const;
Chris@55 58
Chris@55 59 SampleDataFormat sampleFormat() const;
Chris@55 60 bool isSampleFormatInterleaved() const;
Chris@55 61 bool isSampleFormatHostApiSpecific() const;
Chris@55 62 PaSampleFormat hostApiSpecificSampleFormat() const;
Chris@55 63
Chris@55 64 PaTime suggestedLatency() const;
Chris@55 65
Chris@55 66 void *hostApiSpecificStreamInfo() const;
Chris@55 67
Chris@55 68 private:
Chris@55 69 PaStreamParameters paStreamParameters_;
Chris@55 70 };
Chris@55 71
Chris@55 72
Chris@55 73 } // namespace portaudio
Chris@55 74
Chris@55 75 // ---------------------------------------------------------------------------------------
Chris@55 76
Chris@55 77 #endif // INCLUDED_PORTAUDIO_SINGLEDIRECTIONSTREAMPARAMETERS_HXX