mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-24 00:18:07 +02:00
Ensures that all files that Git considers to be text will have normalized (LF) line endings in the repository. When core.eol is set to native (which is the default), Git will convert the line endings of normalized files in your working directory back to your platform's native line ending. See also https://git-scm.com/docs/gitattributes
77 lines
1.8 KiB
C++
77 lines
1.8 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 retreived.
|
|
//////
|
|
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
|
|
|