dxd - dynax driver framework 2.2.0d81
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::coreaudio::device< desc_t > Class Template Reference

CoreAudio client device. More...

#include <dx_coreaudio.h>

+ Inheritance diagram for dx::coreaudio::device< desc_t >:
+ Collaboration diagram for dx::coreaudio::device< desc_t >:

Public Types

typedef desc_t desc
 

Public Member Functions

virtual uint32_t clocksource ()
 
virtual uint32_t clocksource (uint32_t clocksource) try
 
void conclude () noexcept override
 
 device (decltype(super::driver)&driver, decltype(super::id)&id)
 
 dx_catchall_rethrow ()
 
 dx_catchall_rethrow () template< typename observer_t
 
 dx_catchall_rethrow (, "iosize: %d (current: %d)", iosize, hw.iosize) virtual int32_t iosize() const try
 
 dx_catchall_rethrow (, "iosize: %d (current: %d)", iosize, this->hw.iosize) int32_t iosize() const override try
 
uint64_t frame () const
 
int32_t iosize (uint32_t iosize) override try
 
virtual int32_t iosize (uint32_t iosize, dx::event< user > &hw_clock) try
 
virtual bool monitor () noexcept
 
template<typename monitor_t = dx::stream::clock::monitor>
monitor_t * monitor (bool force=false)
 
virtual devicereset ()
 
virtual uint32_t samplerate () const
 
uint32_t samplerate (uint32_t samplerate) override try
 
void start () override
 
void stop (bool=false) override
 
virtual ~device () noexcept
 the device class destructor
 

Public Attributes

struct { 
 
   dx::event< user > *   clock 
 
   std::atomic< size_t >   counter 
 
   uint32_t   iosize 
 
hw 
 
uint32_t iosize
 
std::string puid
 persistent UID (i.e. serial number)
 
std::string puuid
 persistent universal UID
 
shared::memory< dx::stream::clock::monitorshared_monitor
 
std::map< uint8_t, std::weak_ptr< dx::stream::stream< device > > > streams
 

Detailed Description

template<typename desc_t = dx::virtuel::stream::desc>
class dx::coreaudio::device< desc_t >

CoreAudio client device.

Member Typedef Documentation

◆ desc

template<typename super_device_t , typename desc_t >
typedef desc_t dx::stream::device< super_device_t, desc_t >::desc
inherited

Constructor & Destructor Documentation

◆ device()

template<typename desc_t = dx::virtuel::stream::desc>
dx::coreaudio::device< desc_t >::device ( decltype(super::driver)& driver,
decltype(super::id)& id )
inline
Todo
coreaudio::device: validate configuration for clock settings
+ Here is the call graph for this function:

◆ ~device()

template<typename desc_t = dx::virtuel::stream::desc>
virtual dx::coreaudio::device< desc_t >::~device ( )
inlinevirtualnoexcept

the device class destructor

+ Here is the call graph for this function:

Member Function Documentation

◆ clocksource() [1/2]

template<typename super_device_t , typename desc_t >
virtual uint32_t dx::stream::device< super_device_t, desc_t >::clocksource ( )
inlinevirtualinherited

◆ clocksource() [2/2]

template<typename super_device_t , typename desc_t >
virtual uint32_t dx::stream::device< super_device_t, desc_t >::clocksource ( uint32_t clocksource)
inlinevirtualinherited

◆ conclude()

template<typename desc_t = dx::virtuel::stream::desc>
void dx::coreaudio::device< desc_t >::conclude ( )
inlineoverridenoexcept
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dx_catchall_rethrow() [1/4]

template<typename desc_t = dx::virtuel::stream::desc>
dx::coreaudio::device< desc_t >::dx_catchall_rethrow ( )

◆ dx_catchall_rethrow() [2/4]

template<typename desc_t = dx::virtuel::stream::desc>
dx::coreaudio::device< desc_t >::dx_catchall_rethrow ( )

◆ dx_catchall_rethrow() [3/4]

template<typename super_device_t , typename desc_t >
dx::stream::device< super_device_t, desc_t >::dx_catchall_rethrow ( "iosize: %d (current: %d)" ,
iosize ,
hw. iosize ) const
inlineinherited

<

Todo
stream::device calculate default iosize from desc

◆ dx_catchall_rethrow() [4/4]

template<typename desc_t = dx::virtuel::stream::desc>
dx::coreaudio::device< desc_t >::dx_catchall_rethrow ( "iosize: %d (current: %d)" ,
iosize ,
this->hw. iosize ) const
inlineoverride

◆ frame()

template<typename desc_t = dx::virtuel::stream::desc>
uint64_t dx::coreaudio::device< desc_t >::frame ( ) const
inline
+ Here is the call graph for this function:

◆ iosize() [1/2]

template<typename desc_t = dx::virtuel::stream::desc>
int32_t dx::coreaudio::device< desc_t >::iosize ( uint32_t iosize)
inlineoverride

◆ iosize() [2/2]

template<typename desc_t = dx::virtuel::stream::desc>
virtual int32_t dx::stream::device< super_device_t, desc_t >::iosize ( uint32_t iosize,
dx::event< user > & hw_clock )
inlinevirtual

◆ monitor() [1/2]

template<typename super_device_t , typename desc_t >
virtual bool dx::stream::device< super_device_t, desc_t >::monitor ( )
inlinevirtualnoexceptinherited
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ monitor() [2/2]

template<typename super_device_t , typename desc_t >
template<typename monitor_t = dx::stream::clock::monitor>
monitor_t * dx::stream::device< super_device_t, desc_t >::monitor ( bool force = false)
inlineinherited
+ Here is the call graph for this function:

◆ reset()

template<typename super_device_t , typename desc_t >
virtual device & dx::stream::device< super_device_t, desc_t >::reset ( )
inlinevirtualinherited
+ Here is the caller graph for this function:

◆ samplerate() [1/2]

template<typename super_device_t , typename desc_t >
virtual uint32_t dx::stream::device< super_device_t, desc_t >::samplerate ( ) const
inlinevirtualinherited
Todo
dedicated stream::device::clock class

Reimplemented in dx::usb::stream::device< desc_t >, dx::virtuel::stream::device< desc_t >, and dx::virtuel::stream::device< desc_t >.

+ Here is the caller graph for this function:

◆ samplerate() [2/2]

template<typename desc_t = dx::virtuel::stream::desc>
uint32_t dx::coreaudio::device< desc_t >::samplerate ( uint32_t samplerate)
inlineoverridevirtual

Reimplemented from dx::stream::device< super_device_t, desc_t >.

+ Here is the call graph for this function:

◆ start()

template<typename desc_t = dx::virtuel::stream::desc>
void dx::coreaudio::device< desc_t >::start ( )
inlineoverridevirtual

◆ stop()

template<typename desc_t = dx::virtuel::stream::desc>
void dx::coreaudio::device< desc_t >::stop ( bool = false)
inlineoverridevirtual

Reimplemented from dx::stream::device< super_device_t, desc_t >.

+ Here is the caller graph for this function:

Member Data Documentation

◆ clock

template<typename super_device_t , typename desc_t >
dx::event<user>* dx::stream::device< super_device_t, desc_t >::clock
inherited

◆ counter

template<typename super_device_t , typename desc_t >
std::atomic<size_t> dx::stream::device< super_device_t, desc_t >::counter
inherited

◆ [struct]

struct { ... } dx::stream::device< super_device_t, desc_t >::hw

◆ iosize

template<typename desc_t = dx::virtuel::stream::desc>
uint32_t dx::stream::device< super_device_t, desc_t >::iosize

◆ puid

template<typename super_device_t , typename desc_t >
std::string dx::stream::device< super_device_t, desc_t >::puid
inherited

persistent UID (i.e. serial number)

◆ puuid

template<typename super_device_t , typename desc_t >
std::string dx::stream::device< super_device_t, desc_t >::puuid
inherited

persistent universal UID

◆ shared_monitor

template<typename super_device_t , typename desc_t >
shared::memory<dx::stream::clock::monitor> dx::stream::device< super_device_t, desc_t >::shared_monitor
inherited

◆ streams

template<typename super_device_t , typename desc_t >
std::map<uint8_t, std::weak_ptr<dx::stream::stream<device> > > dx::stream::device< super_device_t, desc_t >::streams
inherited

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

(c) copyright 2009 dynamic acoustics e.U. generated on Fri Dec 20 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.