Spaces:
Runtime error
Runtime error
// --------------------------------------------------------------------------------------- | |
// --------------------------------------------------------------------------------------- | |
// Declaration(s): | |
namespace portaudio | |
{ | |
////// | |
/// @brief The entire set of parameters needed to configure and open | |
/// a Stream. | |
/// | |
/// It contains parameters of input, output and shared parameters. | |
/// Using the isSupported() method, the StreamParameters can be | |
/// checked if opening a Stream using this StreamParameters would | |
/// succeed or not. Accessors are provided to higher-level parameters | |
/// aswell as the lower-level parameters which are mainly intended for | |
/// internal use. | |
////// | |
class StreamParameters | |
{ | |
public: | |
StreamParameters(); | |
StreamParameters(const DirectionSpecificStreamParameters &inputParameters, | |
const DirectionSpecificStreamParameters &outputParameters, double sampleRate, | |
unsigned long framesPerBuffer, PaStreamFlags flags); | |
// Set up for direction-specific: | |
void setInputParameters(const DirectionSpecificStreamParameters ¶meters); | |
void setOutputParameters(const DirectionSpecificStreamParameters ¶meters); | |
// Set up for common parameters: | |
void setSampleRate(double sampleRate); | |
void setFramesPerBuffer(unsigned long framesPerBuffer); | |
void setFlag(PaStreamFlags flag); | |
void unsetFlag(PaStreamFlags flag); | |
void clearFlags(); | |
// Validation: | |
bool isSupported() const; | |
// Accessors (direction-specific): | |
DirectionSpecificStreamParameters &inputParameters(); | |
const DirectionSpecificStreamParameters &inputParameters() const; | |
DirectionSpecificStreamParameters &outputParameters(); | |
const DirectionSpecificStreamParameters &outputParameters() const; | |
// Accessors (common): | |
double sampleRate() const; | |
unsigned long framesPerBuffer() const; | |
PaStreamFlags flags() const; | |
bool isFlagSet(PaStreamFlags flag) const; | |
private: | |
// Half-duplex specific parameters: | |
DirectionSpecificStreamParameters inputParameters_; | |
DirectionSpecificStreamParameters outputParameters_; | |
// Common parameters: | |
double sampleRate_; | |
unsigned long framesPerBuffer_; | |
PaStreamFlags flags_; | |
}; | |
} // namespace portaudio | |
// --------------------------------------------------------------------------------------- | |