annotate src/portaudio/bindings/cpp/include/portaudiocpp/DirectionSpecificStreamParameters.hxx @ 105:c83a7e2af39c

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