this is necessary in order to get Furnace to build using CMake 4.0. you should do: git submodule deinit extern/portaudio
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#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
 |