annotate src/portaudio/bindings/cpp/include/portaudiocpp/DirectionSpecificStreamParameters.hxx @ 23:619f715526df sv_v2.1

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