 165b814f5d
			
		
	
	
		165b814f5d
		
	
	
	
	
		
			
			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
 |