dxd - dynax driver framework  2979
cross platform open source driver development framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t > Class Template Reference

#include <dx_test.h>

+ Inheritance diagram for dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >:
+ Collaboration diagram for dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >:

Classes

struct  loopback
 

Public Member Functions

virtual void conclude () noexcept
 
virtual void conclude () noexcept
 
 driver (typename super::match match)
 
device_t * find (std::string uid) const noexcept
 Finds the device by guid.
The user is responsible for making sure the device list cannot be modified during find(). More...
 
virtual void launch ()
 
void operator<< (char *argv[])
 

Static Public Member Functions

static void idle (int64_t nsec)
 
static void idle (uint64_t timeout) noexcept
 

Public Attributes

circularcircular [direction]
 
elements
 STL member. More...
 
force_write force_write
 
unsigned int interval
 clock resolution: HW stream frame size in samples More...
 
unsigned int linesize
 
typedef::CFDictionaryRef match
 
typedef::GUID match
 
struct {
   volatile unsigned int *   samplerate
 
observer
 
read read
 
circularreference
 
unsigned int rx
 
struct {
   unsigned int   rx
 
   unsigned int   tx
 
safety_offset
 
volatile unsigned int * samplerate
 
unsigned int samplerate
 
struct {
   unsigned int   interval
 clock resolution: HW stream frame size in samples More...
 
   unsigned int   linesize
 
   circular *   reference
 
   struct {
      unsigned int   rx
 
      unsigned int   tx
 
   }   safety_offset
 
   unsigned int   samplerate
 
   int64_t   trigger
 
sync
 
int64_t trigger
 
unsigned int tx
 
uint64_t mask =ULLONG_MAX
 
std::chrono::high_resolution_clock::duration stream_duration =0s
 

Protected Types

typedef driver< device_t > driver
 

Protected Member Functions

virtual void arrived (device_t &)
 notify specific device arrival stub More...
 
virtual void arrived ()
 notify device arrivals completed stub More...
 
virtual void arrived (device_t &)
 notify specific device arrival stub More...
 
virtual void arrived ()
 notify device arrivals completed stub More...
 
 catch (std::system_error &exception)
 
 catchall () public
 
 catchall_rethrow () virtual ~clock() noexcept
 
virtual void clear () noexcept
 replaces non-virtual std::deque::clear to call virtual notification methods More...
 
virtual void clear () noexcept
 replaces non-virtual std::deque::clear to call virtual notification methods More...
 
void clock_monitor (device_t &device, std::chrono::high_resolution_clock::duration duration)
 
virtual void detach () noexcept
 
void exception (const dx::exception &exception) const noexceptoverride try
 notification exception handler More...
 
virtual void free () noexcept
 
void halt () noexceptoverride
 
virtual void handle (char *arg)
 
virtual void help () const noexcept
 
void initialize (const typename clock_t::duration &duration)
 
void initialize (unsigned int iosize, uint64_t channel_map[2][(channels+63)/64])
 
virtual void launch ()
 
void notify () noexceptoverride
 notify change from device requiring streaming reset More...
 
virtual void notify (unsigned int) noexcept
 notify sample rate change from device More...
 
 operator os_event () noexcept
 
virtual void overload () noexcept
 
void process (int64_t) noexceptoverride
 
virtual void removed () noexcept
 notify device removals completed stub More...
 
eventreset () try
 
void run () override
 
unsigned int samplerate () const
 
eventsignal () try
 
virtual void sync (const typename clock_t::time_point &now)
 
void wait () try
 

Static Protected Member Functions

static void abort (int)
 
static void sig (int)
 

Protected Attributes

unsigned int cnt = 0
 
std::shared_ptr< device_t > device
 
unsigned int dropout = 0
 
clock_t::duration duration
 
uint64_t frame
 
int ** io [direction][2]
 
unsigned int iosize
 
struct dx::test::driver::loopback loopback
 
dx::stream::clock::monitormonitor
 io[direction][double buffer][channel][sample] More...
 
std::mutex mutex
 
clock_t::time_point objective
 
std::shared_ptr< audio_pin_t > pin [direction]
 
bool quiet = false
 
volatile bool running
 
os_result status
 
uint64_t tick = 0
 
struct {
   uint64_t   mask =ULLONG_MAX
 
   std::chrono::high_resolution_clock::duration   stream_duration =0s
 
unit_test
 

Member Typedef Documentation

typedef driver<device_t> dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::driver
protectedinherited

Constructor & Destructor Documentation

template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::driver ( typename super::match  match)
inline

Member Function Documentation

template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
static void dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::abort ( int  )
inlinestaticprotected
template<class device_t = device>
virtual void dx::driver< device_t >::arrived ( device_t &  )
inlineprotectedvirtualinherited

notify specific device arrival stub

template<class device_t = device>
virtual void dx::driver< device_t >::arrived ( )
inlineprotectedvirtualinherited

notify device arrivals completed stub

Reimplemented in dx::coreaudio::plugin< io_t, bus_t, desc_t >.

+ Here is the caller graph for this function:

template<class device_t = device>
virtual void dx::driver< device_t >::arrived ( device_t &  )
inlineprotectedvirtualinherited

notify specific device arrival stub

template<class device_t = device>
virtual void dx::driver< device_t >::arrived ( )
inlineprotectedvirtualinherited

notify device arrivals completed stub

Reimplemented in dx::coreaudio::plugin< io_t, bus_t, desc_t >.

dx::event< user >::catch ( std::system_error &  exception)
inlineinherited
dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::catchall ( )
inlineprotectedinherited
dx::clock< clock_t >::catchall_rethrow ( )
inlinenoexceptinherited
template<class device_t = device>
virtual void dx::driver< device_t >::clear ( )
inlineprotectedvirtualnoexceptinherited

replaces non-virtual std::deque::clear to call virtual notification methods

Todo:
check if exception catching needed for device::conclude()

+ Here is the caller graph for this function:

template<class device_t = device>
virtual void dx::driver< device_t >::clear ( )
inlineprotectedvirtualnoexceptinherited

replaces non-virtual std::deque::clear to call virtual notification methods

Todo:
check if exception catching needed for device::conclude()
template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
void dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::clock_monitor ( device_t &  device,
std::chrono::high_resolution_clock::duration  duration 
)
inlineprotected

+ Here is the call graph for this function:

template<class device_t = device>
virtual void dx::driver< device_t >::conclude ( )
inlinevirtualnoexceptinherited

+ Here is the caller graph for this function:

template<class device_t = device>
virtual void dx::driver< device_t >::conclude ( )
inlinevirtualnoexceptinherited
virtual void dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::detach ( )
inlineprotectedvirtualnoexceptinherited

+ Here is the call graph for this function:

void dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::exception ( const dx::exception exception) const
inlineoverrideprotectedvirtualnoexceptinherited

notification exception handler

Reimplemented from dx::driver< device_t >.

template<class device_t = device>
device_t* dx::driver< device_t >::find ( std::string  uid) const
inlinenoexceptinherited

Finds the device by guid.
The user is responsible for making sure the device list cannot be modified during find().

Exceptions
n/athis method does not throw exceptions
virtual void dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::free ( )
inlineprotectedvirtualnoexceptinherited
void dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::halt ( )
inlineoverrideprotectedvirtualnoexceptinherited

Reimplemented from dx::clock<>.

+ Here is the call graph for this function:

template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
virtual void dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::handle ( char *  arg)
inlineprotectedvirtual

+ Here is the call graph for this function:

template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
virtual void dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::help ( ) const
inlineprotectedvirtualnoexcept
template<class device_t = device>
static void dx::driver< device_t >::idle ( int64_t  nsec)
inlinestaticinherited

+ Here is the caller graph for this function:

template<class device_t = device>
static void dx::driver< device_t >::idle ( uint64_t  timeout)
inlinestaticnoexceptinherited
void dx::clock< clock_t >::initialize ( const typename clock_t::duration &  duration)
inlineinherited
void dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::initialize ( unsigned int  iosize,
uint64_t  channel_map[2][(channels+63)/64] 
)
inlineprotectedinherited
Todo:
clock already runnning with different iosize: check if engine should be initialized with current iosize

+ Here is the call graph for this function:

virtual void dx::event< kernel >::launch ( )
inlinevirtualinherited

The default implementation is based on event<user> which is signalled when triggered via launch() from kernel. This is to achieve compatibility with Windows events. Its probably more adequate to overwrite launch() and do the work here if feasible.

Reimplemented in dx::coremidi::stream< io_t, bus_t, stream_desc_t, device_t >.

template<class device_t = device>
virtual void dx::driver< device_t >::launch ( )
inlinevirtualinherited

+ Here is the caller graph for this function:

template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
void dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::notify ( )
inlineoverrideprotectedvirtualnoexcept

notify change from device requiring streaming reset

Reimplemented from dx::clock<>.

virtual void dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::notify ( unsigned  int)
inlineprotectedvirtualnoexceptinherited

notify sample rate change from device

dx::event< kernel >::operator os_event ( )
inlinenoexceptinherited
template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
void dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::operator<< ( char *  argv[])
inline
virtual void dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::overload ( )
inlineprotectedvirtualnoexceptinherited

+ Here is the call graph for this function:

template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
void dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::process ( int64_t  )
inlineoverrideprotectedvirtualnoexcept
template<class device_t = device>
virtual void dx::driver< device_t >::removed ( )
inlineprotectedvirtualnoexceptinherited

notify device removals completed stub

Reimplemented in dx::coreaudio::plugin< io_t, bus_t, desc_t >.

+ Here is the caller graph for this function:

event& dx::event< user >::reset ( )
inlineinherited

+ Here is the caller graph for this function:

void dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::run ( )
inlineoverrideprotectedvirtualinherited

Reimplemented from dx::clock<>.

+ Here is the call graph for this function:

unsigned int dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::samplerate ( ) const
inlineprotectedinherited
template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
static void dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::sig ( int  )
inlinestaticprotected
event& dx::event< user >::signal ( )
inlineinherited

+ Here is the caller graph for this function:

virtual void dx::clock< clock_t >::sync ( const typename clock_t::time_point &  now)
inlineprotectedvirtualinherited
void dx::clock< clock_t >::wait ( )
inlineinherited

Member Data Documentation

circular* dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::circular[direction]
inherited
template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
unsigned int dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::cnt = 0
protected
std::shared_ptr<device_t> dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::device
protectedinherited
template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
unsigned int dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::dropout = 0
protected
clock_t::duration dx::clock< clock_t >::duration
protectedinherited
Todo:
evaluate clock::status replacement (exception?)
T std::deque< T >::elements
inherited

STL member.

force_write dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::force_write
inherited
uint64_t dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::frame
protectedinherited
unsigned int dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::interval
inherited

clock resolution: HW stream frame size in samples

int** dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::io[direction][2]
protectedinherited
unsigned int dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::iosize
protectedinherited
unsigned int dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::linesize
inherited
template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
struct dx::test::driver::loopback dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::loopback
protected
template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
uint64_t dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::mask =ULLONG_MAX
template<class device_t = device>
typedef::CFDictionaryRef dx::driver< device_t >::match
inherited
template<class device_t = device>
typedef::GUID dx::driver< device_t >::match
inherited
dx::stream::clock::monitor* dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::monitor
protectedinherited

io[direction][double buffer][channel][sample]

std::mutex dx::clock< clock_t >::mutex
protectedinherited
clock_t::time_point dx::clock< clock_t >::objective
protectedinherited
struct { ... } dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::observer
std::shared_ptr<audio_pin_t > dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::pin[direction]
protectedinherited
template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
bool dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::quiet = false
protected
read dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::read
inherited
circular* dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::reference
inherited
volatile bool dx::clock< clock_t >::running
protectedinherited
unsigned int dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::rx
inherited
struct { ... } dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::safety_offset
volatile unsigned int* dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::samplerate
inherited
unsigned int dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::samplerate
inherited
os_result dx::clock< clock_t >::status
protectedinherited
template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
std::chrono::high_resolution_clock::duration dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::stream_duration =0s
struct { ... } dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::sync
template<typename audio_stream_t , typename audio_bus_t , typename super_device_t , typename desc_t = stream::desc<typename audio_bus_t::target>, typename midi_stream_t = audio_stream_t, typename midi_bus_t = audio_bus_t, typename audio_pin_t = stream::pin<audio_stream_t,audio_bus_t,struct desc_t::stream::pin,super_device_t>, typename midi_pin_t = stream::pin<midi_stream_t,midi_bus_t,struct desc_t::stream::pin,super_device_t>, typename device_t = device<audio_stream_t,audio_bus_t,desc_t,super_device_t,midi_stream_t,midi_bus_t>>
uint64_t dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::tick = 0
protected
int64_t dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::trigger
inherited
unsigned int dx::stream::engine< audio_stream_t , audio_bus_t , desc_t, device_t, audio_pin_t >::tx
inherited
struct { ... } dx::test::driver< audio_stream_t, audio_bus_t, super_device_t, desc_t, midi_stream_t, midi_bus_t, audio_pin_t, midi_pin_t, device_t >::unit_test

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

(c) copyright 2009 dynamic acoustics e.U. generated on Fri Nov 8 2019

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.