annotate src/portaudio_20161030/bindings/cpp/include/portaudiocpp/DirectionSpecificStreamParameters.hxx @ 140:59a8758c56b1

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