dxd - dynax driver framework 2.1.0d58
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::coreaudio::device Class Reference

CoreAudio client device. More...

#include <dx_coreaudio.h>

+ Inheritance diagram for dx::coreaudio::device:
+ Collaboration diagram for dx::coreaudio::device:

Public Types

enum class  bus { usb = 'usb ' , pci = 'pci ' }
 
typedef dx::stream::desc desc
 

Public Member Functions

void conclude () noexcept override
 conclude notification: object will be removed. If you overwrite conclude() you also need to overwrite destructor and check if its needed to be called from there.
 
 device (dx::coreaudio::driver< device > &driver, ::AudioObjectID id)
 
uint32_t enumerate (const circular::format &format=circular::any) const
 enumerate typified pins
 
const struct streamfind (const target_t &target) const
 
const struct streamfind (uint32_t &pin, const circular::format &format=circular::any, enum direction direction=direction::any) const
 finds and returns the stream description and pin idx into this stream
 
void info () override
 log object class information
 
virtual uint32_t iosize () const
 
virtual void launch ()
 launch notification: object mounted and ready to use
 
virtual uint32_t safety_offset (bool) const
 
uint32_t samplerate () const
 
uint32_t samplerate (uint32_t samplerate)
 
virtual void start ()
 
virtual void stop (bool=false)
 
virtual uint32_t version () const
 
virtual ~device () noexcept
 the device class destructor
 

Public Attributes

enum dx::stream::desc::bus bus
 
struct dx::stream::desc::clock clock [max_clocks]
 
uint32_t clocks
 number of independent clocks [currenlty only single clock support]
 
bool launched {}
 
char model [0x60]
 
bool persistence
 device has capability to store persistent settings (i.e. sample rate; clock source; etc.)
 
struct dx::stream::desc::stream stream [max_streams]
 
uint32_t streams
 number of streams
 
char vendor [0x60]
 

Protected Member Functions

void exception (const dx::exception &exception, bool filtered=false) const noexcept override
 notification exception handler
 

Protected Attributes

dx::coreaudio::driver< device > & driver
 
const ::AudioObjectID id
 

Friends

std::ostream & operator<< (std::ostream &, const device &)
 

Detailed Description

CoreAudio client device.

Member Typedef Documentation

◆ desc

Member Enumeration Documentation

◆ bus

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1>
enum class dx::stream::desc::bus
stronginherited
Enumerator
usb 
pci 

Constructor & Destructor Documentation

◆ device()

dx::coreaudio::device::device ( dx::coreaudio::driver< device > & driver,
::AudioObjectID id )
inline

◆ ~device()

virtual dx::coreaudio::device::~device ( )
inlinevirtualnoexcept

the device class destructor

+ Here is the call graph for this function:

Member Function Documentation

◆ conclude()

void dx::coreaudio::device::conclude ( )
inlineoverridevirtualnoexcept

conclude notification: object will be removed. If you overwrite conclude() you also need to overwrite destructor and check if its needed to be called from there.

Reimplemented from dx::object.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ enumerate()

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1>
uint32_t dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations >::enumerate ( const circular::format & format = circular::any) const
inlineinherited

enumerate typified pins

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ exception()

void dx::coreaudio::device::exception ( const dx::exception & exception,
bool filtered = false ) const
inlineoverrideprotectedvirtualnoexcept

notification exception handler

Implements dx::object.

+ Here is the call graph for this function:

◆ find() [1/2]

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1>
const struct stream * dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations >::find ( const target_t & target) const
inlineinherited

◆ find() [2/2]

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1>
const struct stream * dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations >::find ( uint32_t & pin,
const circular::format & format = circular::any,
enum direction direction = direction::any ) const
inlineinherited

finds and returns the stream description and pin idx into this stream

Returns
stream description of indexed pin, pin idx will be altered on return!
Parameters
pinin: global pin index, out: pin index into returned stream description
formatsearch stream format filter
directionsearch stream direction filter
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ info()

void dx::coreaudio::device::info ( )
inlineoverridevirtual

log object class information

Implements dx::object.

+ Here is the call graph for this function:

◆ iosize()

virtual uint32_t dx::coreaudio::device::iosize ( ) const
inlinevirtual

◆ launch()

virtual void dx::object::launch ( )
inlinevirtualinherited

launch notification: object mounted and ready to use

Reimplemented in dx::usb::stream::device< desc_t >, dx::coreaudio::driver< dx::coreaudio::device >, and dx::coreaudio::driver< device_t >.

+ Here is the caller graph for this function:

◆ safety_offset()

virtual uint32_t dx::coreaudio::device::safety_offset ( bool ) const
inlinevirtual

◆ samplerate() [1/2]

uint32_t dx::coreaudio::device::samplerate ( ) const
inline
+ Here is the caller graph for this function:

◆ samplerate() [2/2]

uint32_t dx::coreaudio::device::samplerate ( uint32_t samplerate)
inline

◆ start()

virtual void dx::coreaudio::device::start ( )
inlinevirtual
+ Here is the caller graph for this function:

◆ stop()

virtual void dx::coreaudio::device::stop ( bool = false)
inlinevirtual
+ Here is the caller graph for this function:

◆ version()

virtual uint32_t dx::coreaudio::device::version ( ) const
inlinevirtual

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const device & device )
friend

Member Data Documentation

◆ bus

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1>
enum dx::stream::desc::bus dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations >::bus
inherited

◆ clock

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1>
struct dx::stream::desc::clock dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations >::clock[max_clocks]
inherited

◆ clocks

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1>
uint32_t dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations >::clocks
inherited

number of independent clocks [currenlty only single clock support]

◆ driver

dx::coreaudio::driver<device>& dx::coreaudio::device::driver
protected

◆ id

const ::AudioObjectID dx::coreaudio::device::id
protected

◆ launched

bool dx::object::launched {}
inherited

◆ model

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1>
char dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations >::model[0x60]
inherited

◆ persistence

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1>
bool dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations >::persistence
inherited

device has capability to store persistent settings (i.e. sample rate; clock source; etc.)

◆ stream

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1>
struct dx::stream::desc::stream dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations >::stream[max_streams]
inherited

◆ streams

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1>
uint32_t dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations >::streams
inherited

number of streams

◆ vendor

template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1>
char dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations >::vendor[0x60]
inherited

The documentation for this class was generated from the following file:

(c) copyright 2009 dynamic acoustics e.U. generated on Sat Apr 27 2024

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.