comparison src/portaudio/bindings/cpp/include/portaudiocpp/DirectionSpecificStreamParameters.hxx @ 4:e13257ea84a4

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