annotate src/portaudio_20140130/bindings/cpp/include/portaudiocpp/DirectionSpecificStreamParameters.hxx @ 169:223a55898ab9 tip default

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