Mercurial > hg > sv-dependency-builds
comparison src/portaudio/bindings/cpp/include/portaudiocpp/StreamParameters.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_STREAMPARAMETERS_HXX | |
2 #define INCLUDED_PORTAUDIO_STREAMPARAMETERS_HXX | |
3 | |
4 // --------------------------------------------------------------------------------------- | |
5 | |
6 #include "portaudio.h" | |
7 | |
8 #include "portaudiocpp/DirectionSpecificStreamParameters.hxx" | |
9 | |
10 // --------------------------------------------------------------------------------------- | |
11 | |
12 // Declaration(s): | |
13 namespace portaudio | |
14 { | |
15 | |
16 ////// | |
17 /// @brief The entire set of parameters needed to configure and open | |
18 /// a Stream. | |
19 /// | |
20 /// It contains parameters of input, output and shared parameters. | |
21 /// Using the isSupported() method, the StreamParameters can be | |
22 /// checked if opening a Stream using this StreamParameters would | |
23 /// succeed or not. Accessors are provided to higher-level parameters | |
24 /// aswell as the lower-level parameters which are mainly intended for | |
25 /// internal use. | |
26 ////// | |
27 class StreamParameters | |
28 { | |
29 public: | |
30 StreamParameters(); | |
31 StreamParameters(const DirectionSpecificStreamParameters &inputParameters, | |
32 const DirectionSpecificStreamParameters &outputParameters, double sampleRate, | |
33 unsigned long framesPerBuffer, PaStreamFlags flags); | |
34 | |
35 // Set up for direction-specific: | |
36 void setInputParameters(const DirectionSpecificStreamParameters ¶meters); | |
37 void setOutputParameters(const DirectionSpecificStreamParameters ¶meters); | |
38 | |
39 // Set up for common parameters: | |
40 void setSampleRate(double sampleRate); | |
41 void setFramesPerBuffer(unsigned long framesPerBuffer); | |
42 void setFlag(PaStreamFlags flag); | |
43 void unsetFlag(PaStreamFlags flag); | |
44 void clearFlags(); | |
45 | |
46 // Validation: | |
47 bool isSupported() const; | |
48 | |
49 // Accessors (direction-specific): | |
50 DirectionSpecificStreamParameters &inputParameters(); | |
51 const DirectionSpecificStreamParameters &inputParameters() const; | |
52 DirectionSpecificStreamParameters &outputParameters(); | |
53 const DirectionSpecificStreamParameters &outputParameters() const; | |
54 | |
55 // Accessors (common): | |
56 double sampleRate() const; | |
57 unsigned long framesPerBuffer() const; | |
58 PaStreamFlags flags() const; | |
59 bool isFlagSet(PaStreamFlags flag) const; | |
60 | |
61 private: | |
62 // Half-duplex specific parameters: | |
63 DirectionSpecificStreamParameters inputParameters_; | |
64 DirectionSpecificStreamParameters outputParameters_; | |
65 | |
66 // Common parameters: | |
67 double sampleRate_; | |
68 unsigned long framesPerBuffer_; | |
69 PaStreamFlags flags_; | |
70 }; | |
71 | |
72 | |
73 } // namespace portaudio | |
74 | |
75 // --------------------------------------------------------------------------------------- | |
76 | |
77 #endif // INCLUDED_PORTAUDIO_STREAMPARAMETERS_HXX |