dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx_coreaudio_property.h File Reference
#include "dx_assert.h"
#include "dx_common.h"
#include "dx_value.h"
#include "cf_number.h"
#include <map>
#include <set>
#include <CoreAudio/AudioHardware.h>
#include <CoreAudio/AudioServerPlugIn.h>
Include dependency graph for dx_coreaudio_property.h:
This graph shows which files directly or indirectly include this file:

Classes

class  dx::coreaudio::promoted::property< value_t, coreaudio_value_t, settable >
 coreaudio::promoted::property More...
class  dx::coreaudio::property
 coreaudio::property More...
struct  dx::coreaudio::property::device
struct  dx::coreaudio::property::device::setting
class  dx::coreaudio::property::listen
 coreaudio::property::listen More...
struct  dx::coreaudio::property::plugin
struct  dx::coreaudio::property::pod
struct  dx::coreaudio::property::pod::stream
struct  dx::coreaudio::property::qualifier
 the qualifier a HAL property takes beside its address, where the selector asks for one More...
struct  dx::coreaudio::property::virtuel
 dxd's own selectors on a plugin: what neither the HAL nor a device knows - creating and removing a virtual device, the pod's stream and session notifications, and the plugin's own settings. A four character code each, as every HAL selector is More...
struct  dx::coreaudio::property::virtuel::device

Namespaces

namespace  dx
 dynax driver framework interface namespace
namespace  dx::coreaudio
 CoreAudio, both sides of it: dx::coreaudio is the HAL client - a device the system published, whoever drives it - and dx::coreaudio::server is the plugin that publishes one. Settings are HAL properties here, promoted over dx::coreaudio::promoted::property.
namespace  dx::coreaudio::promoted

Macros

#define dx_coreaudio_property_catchall_rethrow   dx_catchall_rethrow(, "id:%x %s:%s[%x]", id, fourchar::to::string(mSelector).c_str(), fourchar::to::string(mScope).c_str(), mElement)
#define dx_pass_coreaudio(test, ...)
#define kAudioObjectPropertyElementMain   kAudioObjectPropertyElementMaster

Functions

std::ostream & dx::coreaudio::operator<< (std::ostream &os, const ::AudioObjectPropertyAddress &address)
template<unsigned int count>
std::ostream & dx::coreaudio::operator<< (std::ostream &os, const ::AudioObjectPropertyAddress(&addresses)[count])
std::ostream & operator<< (std::ostream &os, const dx::coreaudio::property::addresses &)
std::ostream & operator<< (std::ostream &os, const dx::coreaudio::property::dictionary &dictionary)
std::ostream & operator<< (std::ostream &os, const dx::coreaudio::property::dictionary::value_type &value_type)
std::ostream & operator<< (std::ostream &os, const std::vector< dx::coreaudio::property::dictionary > &dictionaries)

Macro Definition Documentation

◆ dx_coreaudio_property_catchall_rethrow

#define dx_coreaudio_property_catchall_rethrow   dx_catchall_rethrow(, "id:%x %s:%s[%x]", id, fourchar::to::string(mSelector).c_str(), fourchar::to::string(mScope).c_str(), mElement)

◆ dx_pass_coreaudio

#define dx_pass_coreaudio ( test,
... )
Value:
{\
dx::os_result __dx_test_status=(test);\
if (dx::os_error(__dx_test_status)){\
dx::halt();\
throw dx::exception(\
DX_STRINGIFY(test),\
__dx_test_status,\
dx::coreaudio::describe(__dx_test_status),\
__FILE__, __LINE__,\
##__VA_ARGS__);}}
a throw's whole diagnostic: the OS result, where it was raised (frame, file, line),...
Definition dx_exception.h:196
#define DX_STRINGIFY(...)
Definition dx_macros.h:45
bool os_error(os_result result) noexcept
Definition macOS/dx_platform.h:216
::IOReturn os_result
defining platform abstract type os_result for IOKit driver
Definition driverkit/dxd_platform.h:49
#define __PRETTY_FUNCTION__
mock compiler idiosyncrasies
Definition windows/dx_platform.h:50

◆ kAudioObjectPropertyElementMain

#define kAudioObjectPropertyElementMain   kAudioObjectPropertyElementMaster

Function Documentation

◆ operator<<() [1/4]

std::ostream & operator<< ( std::ostream & os,
const dx::coreaudio::property::addresses & addresses )
inline

◆ operator<<() [2/4]

std::ostream & operator<< ( std::ostream & os,
const dx::coreaudio::property::dictionary & dictionary )
inline

◆ operator<<() [3/4]

std::ostream & operator<< ( std::ostream & os,
const dx::coreaudio::property::dictionary::value_type & value_type )
inline
Here is the call graph for this function:

◆ operator<<() [4/4]

std::ostream & operator<< ( std::ostream & os,
const std::vector< dx::coreaudio::property::dictionary > & dictionaries )
inline

(c) copyright 2009 dynamic acoustics e.U. generated on

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.