this is necessary in order to get Furnace to build using CMake 4.0. you should do: git submodule deinit extern/portaudio
		
			
				
	
	
		
			76 lines
		
	
	
		
			2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef INCLUDED_PORTAUDIO_HOSTAPI_HXX
 | 
						|
#define INCLUDED_PORTAUDIO_HOSTAPI_HXX
 | 
						|
 | 
						|
// ---------------------------------------------------------------------------------------
 | 
						|
 | 
						|
#include "portaudio.h"
 | 
						|
 | 
						|
#include "portaudiocpp/System.hxx"
 | 
						|
 | 
						|
// ---------------------------------------------------------------------------------------
 | 
						|
 | 
						|
// Forward declaration(s):
 | 
						|
namespace portaudio
 | 
						|
{
 | 
						|
    class Device;
 | 
						|
}
 | 
						|
 | 
						|
// ---------------------------------------------------------------------------------------
 | 
						|
 | 
						|
// Declaration(s):
 | 
						|
namespace portaudio
 | 
						|
{
 | 
						|
 | 
						|
 | 
						|
    //////
 | 
						|
    /// @brief HostApi represents a host API (usually type of driver) in the System.
 | 
						|
    ///
 | 
						|
    /// A single System can support multiple HostApi's each one typically having
 | 
						|
    /// a set of Devices using that HostApi (usually driver type). All Devices in
 | 
						|
    /// the HostApi can be enumerated and the default input/output Device for this
 | 
						|
    /// HostApi can be retrieved.
 | 
						|
    //////
 | 
						|
    class HostApi
 | 
						|
    {
 | 
						|
    public:
 | 
						|
        typedef System::DeviceIterator DeviceIterator;
 | 
						|
 | 
						|
        // query info: id, name, numDevices
 | 
						|
        PaHostApiTypeId typeId() const;
 | 
						|
        PaHostApiIndex index() const;
 | 
						|
        const char *name() const;
 | 
						|
        int deviceCount() const;
 | 
						|
 | 
						|
        // iterate devices
 | 
						|
        DeviceIterator devicesBegin();
 | 
						|
        DeviceIterator devicesEnd();
 | 
						|
 | 
						|
        // default devices
 | 
						|
        Device &defaultInputDevice() const;
 | 
						|
        Device &defaultOutputDevice() const;
 | 
						|
 | 
						|
        // comparison operators
 | 
						|
        bool operator==(const HostApi &rhs) const;
 | 
						|
        bool operator!=(const HostApi &rhs) const;
 | 
						|
 | 
						|
    private:
 | 
						|
        const PaHostApiInfo *info_;
 | 
						|
        Device **devices_;
 | 
						|
 | 
						|
    private:
 | 
						|
        friend class System;
 | 
						|
 | 
						|
        explicit HostApi(PaHostApiIndex index);
 | 
						|
        ~HostApi();
 | 
						|
 | 
						|
        HostApi(const HostApi &); // non-copyable
 | 
						|
        HostApi &operator=(const HostApi &); // non-copyable
 | 
						|
    };
 | 
						|
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
// ---------------------------------------------------------------------------------------
 | 
						|
 | 
						|
#endif // INCLUDED_PORTAUDIO_HOSTAPI_HXX
 |