diff options
| author | sanine <sanine.not@pm.me> | 2022-08-27 23:52:56 -0500 | 
|---|---|---|
| committer | sanine <sanine.not@pm.me> | 2022-08-27 23:52:56 -0500 | 
| commit | a4dd0ad63c00f4dee3b86dfd3075d1d61b2b3180 (patch) | |
| tree | 13bd5bfa15e6fea2a12f176bae79adf9c6fd0933 /3rdparty/portaudio/bindings/cpp/include/portaudiocpp/HostApi.hxx | |
| parent | bde3e4f1bb7b8f8abca0884a7d994ee1c17a66b1 (diff) | |
add plibsys
Diffstat (limited to '3rdparty/portaudio/bindings/cpp/include/portaudiocpp/HostApi.hxx')
| -rw-r--r-- | 3rdparty/portaudio/bindings/cpp/include/portaudiocpp/HostApi.hxx | 76 | 
1 files changed, 76 insertions, 0 deletions
| diff --git a/3rdparty/portaudio/bindings/cpp/include/portaudiocpp/HostApi.hxx b/3rdparty/portaudio/bindings/cpp/include/portaudiocpp/HostApi.hxx new file mode 100644 index 0000000..113558c --- /dev/null +++ b/3rdparty/portaudio/bindings/cpp/include/portaudiocpp/HostApi.hxx @@ -0,0 +1,76 @@ +#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 + | 
