annotate src/portaudio_20140130/bindings/cpp/include/portaudiocpp/DirectionSpecificStreamParameters.hxx @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 7ddb4fc30dac
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