Mercurial > hg > sv-dependency-builds
view src/portaudio/bindings/cpp/include/portaudiocpp/StreamParameters.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 |
line wrap: on
line source
#ifndef INCLUDED_PORTAUDIO_STREAMPARAMETERS_HXX #define INCLUDED_PORTAUDIO_STREAMPARAMETERS_HXX // --------------------------------------------------------------------------------------- #include "portaudio.h" #include "portaudiocpp/DirectionSpecificStreamParameters.hxx" // --------------------------------------------------------------------------------------- // 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 // --------------------------------------------------------------------------------------- #endif // INCLUDED_PORTAUDIO_STREAMPARAMETERS_HXX