annotate src/portaudio_20140130/bindings/cpp/include/portaudiocpp/DirectionSpecificStreamParameters.hxx @ 39:7ddb4fc30dac

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