dxd - dynax driver framework 2.1.0d73
cross platform open source driver development framework
|
#include <dx_test.h>
Classes | |
class | clog |
struct | dispatch |
Public Types | |
typedef std::deque< std::string > | args |
typedef device_t::desc | desc |
Public Member Functions | |
catch (...) | |
catch (const dx::exception &__dx_exception) | |
catch (const std::exception &__std_exception) | |
virtual void | conclude () noexcept |
void | conclude () noexcept override |
::CFStringRef | copy () const |
virtual void | detach () noexcept |
driver (const typename super::match &match, const char *id) | |
dx_catchall () static void idle(int64_t nsec) | |
dx_catchall () static void idle(uint64_t timeout) noexcept | |
virtual void | exception (const exception &exception, bool filtered=false) const noexcept try |
notification exception handler | |
virtual void | exception (const exception &exception, bool filtered=false) const noexcept try |
notification exception handler | |
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(). | |
virtual void | free () noexcept |
void | halt () noexcept override |
stop streaming engine | |
reference & | initialize (cf_object_t cf_object, bool retain=true) |
template<unsigned int max_channels> | |
void | initialize (uint32_t iosize, uint64_t channel_map[2][(max_channels+63)/64]) try |
virtual void | launch () |
virtual void | launch () |
operator bool () const noexcept | |
operator cf_object_t () const noexcept | |
operator const char * () const | |
operator double () const noexcept | |
Skips whitespace; returns 0.0 on error. | |
operator int32_t () const noexcept | |
Skips whitespace; returns 0 on error, MAX or -MAX on overflow. | |
operator std::string () const | |
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <!std::is_same_v<petty_t, ::CFTypeRef>>> | |
operator type<> () const noexcept | |
bool | operator!= (::CFStringRef value) const noexcept |
bool | operator!= (cf_object_t cf_object) const noexcept |
bool | operator!= (value_t value) |
::CFMutableStringRef | operator+ (::CFStringRef value) const noexcept |
::CFMutableStringRef | operator+ (const char *value) const noexcept |
operator::CFDataRef () const noexcept | |
operator::CFTypeID () const noexcept | |
template<typename petty_t = cf_object_t, typename = typename std::enable_if_t <!std::is_same_v<petty_t, ::CFTypeRef>>> | |
operator::CFTypeRef () const noexcept | |
bool | operator< (::CFStringRef value) const noexcept |
bool | operator< (value_t value) |
void | operator<< (args args) try |
bool | operator<= (::CFStringRef value) const noexcept |
bool | operator<= (value_t value) |
bool | operator== (::CFStringRef value) const noexcept |
bool | operator== (cf_object_t cf_object) const noexcept |
bool | operator== (value_t value) |
bool | operator> (::CFStringRef value) const noexcept |
bool | operator> (value_t value) |
bool | operator>= (::CFStringRef value) const noexcept |
bool | operator>= (value_t value) |
reference & | release () noexcept |
reference & | retain () noexcept |
void | run () override try |
start streaming engine | |
uint32_t | samplerate () const try |
void | samplerate (uint32_t samplerate) try |
Public Attributes | |
class redirect::indent::streambuf dx::test::driver::clog | cerr |
::CFStringRef | cf_type_desc = nullptr |
::CFStringRef | cf_type_id = nullptr |
class redirect::indent::streambuf dx::test::driver::clog | cout |
T | elements |
STL member. | |
bool | launched = false |
log | log {} |
dx::log | log {} |
cf::preference | preference |
dx::registry | preference |
dx::generic::driver::setup | setup |
Protected Types | |
typedef driver< device_t > | driver |
Protected Member Functions | |
dx_catchall_handler(this,) using driver_t void | arrived () override try |
notify device arrivals completed stub | |
virtual void | arrived (device_t &) |
notify specific device arrival stub | |
template<typename data_t > | |
void | buffer (size_t size=0x1000, uint32_t rx=1, uint32_t tx=1, const std::chrono::high_resolution_clock::duration &duration=3s) const |
void | buffer_header () const |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (...) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const dx::exception &__dx_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
catch (const std::exception &__std_exception) | |
void | clear () noexcept |
replaces std::deque::clear to call virtual notification methods | |
void | clock (const args &args={}) try |
void | clock_monitor (device_t &device, std::chrono::high_resolution_clock::duration duration) noexcept |
void | device_arrival_removal (const args &={}) try |
void | device_config (const args &args={}) try |
void | device_reset (const args &={}) try |
void | enumerate_os_audio (const args &args={}) try |
void | generator (const args &args={}) try |
void | help (const args &args={}) |
void | info (const args &={}) |
realtime & | initialize (const std::chrono::high_resolution_clock::duration &resolution) |
void | initialize (const typename clock_t::duration &duration) |
void | iosize (const args &args) try |
void | loglevel (const args &args) try |
void | loopback (const args &args={}) try |
void | meta_buffer (size_t size, uint32_t rx, uint32_t tx, const std::chrono::high_resolution_clock::duration &duration) const |
void | midi_test (const args &args={}) try |
void | notify () noexcept override |
notify change from device requiring streaming reset | |
virtual void | notify (uint32_t) noexcept |
notify sample rate change from device | |
operator::CFRunLoopSourceRef () const noexcept | |
operator::IONotificationPortRef () const noexcept | |
operator::mach_port_t () const noexcept | |
virtual void | overload () noexcept |
void | process (int64_t) noexcept override |
void | quiet (const args &={}) noexcept |
virtual void | removed () noexcept |
notify device removals completed stub | |
void | removed (device_t &device) noexcept override |
notify specific device removal stub | |
void | safety_offset (const args &args) try |
void | streaming_monitor (const args &args) try |
void | streaming_reset (const args &={}) try |
void | sync (const std::chrono::high_resolution_clock::time_point &now) override try |
virtual void | sync (const typename clock_t::time_point &now) |
void | unittest (const args &args) try |
void | unittest_buffer (const args &args={}) try |
void | unittest_duration (const args &args={}) try |
void | unittest_format (const args &={}) try |
void | unittest_mask (const args &args={}) try |
void | update () noexcept try |
void | version (const args &={}) noexcept |
void | wait () try |
Static Protected Member Functions | |
static void | abort (int) noexcept |
static void | sig (int) noexcept |
Protected Attributes | ||
struct { | ||
circular_t * circular [directions] | ||
force_read force_read | ||
force_write force_write | ||
struct { | ||
volatile uint32_t * samplerate | ||
} observer | ||
struct { | ||
uint32_t interval | ||
clock resolution: HW stream frame size in samples More... | ||
uint32_t linesize | ||
circular * reference | ||
uint32_t safety_offset [directions] | ||
uint32_t samplerate | ||
int64_t trigger | ||
} sync | ||
} | cache | |
cf_object_t | cf_object = nullptr | |
std::shared_ptr< device_t > | device | |
uint32_t | dropout = 0 | |
clock_t::duration | duration = clock_t::duration::zero() | |
uint64_t | frame = 0 | |
bool | hw_clock = false | |
io_t ** | io [directions][2] {} | |
uint32_t | iosize = 0 | |
bool | kernel_streaming = false | |
dx::stream::clock::monitor * | monitor = nullptr | |
io[directions][double buffer][channel][sample] | ||
std::mutex | mutex | |
clock_t::time_point | objective | |
struct { | ||
struct { | ||
double denominator | ||
uint32_t periode = 0 | ||
} generator | ||
struct { | ||
bool audio = false | ||
bool midi = false | ||
} loopback | ||
bool quiet = false | ||
} | parameter | |
const std::map< std::deque< std::string >, dispatch > | parse | |
std::shared_ptr< pin_t > | pin [directions] | |
std::atomic< bool > | running | |
os_result | status = not_initialized | |
uint64_t | tick = 0 | |
struct { | ||
uint64_t mask = ULLONG_MAX | ||
std::chrono::high_resolution_clock::duration stream_duration = 0s | ||
} | unit_test | |
typedef std::deque<std::string> dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::args |
|
inherited |
|
protectedinherited |
|
inline |
|
inlinestaticprotectednoexcept |
|
inlineoverrideprotectedvirtualinherited |
notify device arrivals completed stub
pin creation exception caught here to allow device inspection even if streaming is not possible - most likely due to exclusive access.
Reimplemented from dx::driver< device_t >.
|
inlineprotectedvirtualinherited |
notify specific device arrival stub
Reimplemented in dx::coreaudio::server::plugin< pin_t, device_t >, and dx::coremidi::server::plugin< stream_pin_t, device_t, driver_t >.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inlineprotectednoexceptinherited |
replaces std::deque::clear to call virtual notification methods
|
inlineprotected |
|
inlineprotectednoexcept |
|
inlinevirtualnoexceptinherited |
Reimplemented from dx::generic::driver.
|
inlineoverridevirtualnoexceptinherited |
Reimplemented from dx::generic::driver.
|
inlineinherited |
|
inlinevirtualnoexceptinherited |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlineprotected |
|
inlinevirtualnoexceptinherited |
notification exception handler
Reimplemented in dx::asio< device_t, pin_t >.
|
inlinevirtualnoexceptinherited |
notification exception handler
Reimplemented in dx::asio< device_t, pin_t >.
|
inlinenoexceptinherited |
Finds the device by guid.
The user is responsible for making sure the device list cannot be modified during find().
n/a | this method does not throw exceptions |
|
inlinevirtualnoexceptinherited |
|
inlineprotected |
|
inlineoverridevirtualnoexceptinherited |
stop streaming engine
Reimplemented from dx::clock< scope_t, clock_t >.
|
inlineprotected |
|
inlineprotected |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprotected |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineoverrideprotectedvirtualnoexcept |
notify change from device requiring streaming reset
Reimplemented from dx::stream::engine< device_t, pin_t, io_t, circular_t, driver_t >.
|
inlineprotectedvirtualnoexceptinherited |
notify sample rate change from device
Reimplemented in dx::asio< device_t, pin_t >.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
Skips whitespace; returns 0.0 on error.
|
inlinenoexceptinherited |
Skips whitespace; returns 0 on error, MAX or -MAX on overflow.
|
inlineinherited |
|
noexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inline |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlineprotectedvirtualnoexceptinherited |
|
inlineoverrideprotectedvirtualnoexcept |
Implements dx::stream::engine< device_t, pin_t, io_t, circular_t, driver_t >.
|
inlineprotectednoexcept |
|
inlinenoexceptinherited |
|
inlineprotectedvirtualnoexceptinherited |
notify device removals completed stub
Reimplemented from dx::generic::driver.
|
inlineoverrideprotectedvirtualnoexceptinherited |
notify specific device removal stub
Reimplemented from dx::driver< device_t >.
|
inlinenoexceptinherited |
|
inlineoverridevirtualinherited |
start streaming engine
Reimplemented from dx::clock< scope_t, clock_t >.
|
inlineprotected |
|
inlineinherited |
|
inlineinherited |
|
inlinestaticprotectednoexcept |
|
inlineprotected |
|
inlineprotected |
|
inlineoverrideprotectedinherited |
|
inlineprotectedvirtualinherited |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotectednoexceptinherited |
|
inlineprotectednoexcept |
|
inlineinherited |
bool dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::audio = false |
struct { ... } dx::stream::engine< device_t, pin_t, io_t, circular_t, driver_t >::cache |
class redirect::indent::streambuf dx::test::driver::clog dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::cerr |
|
protectedinherited |
|
inherited |
|
inherited |
|
inherited |
class redirect::indent::streambuf dx::test::driver::clog dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::cout |
double dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::denominator |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
inherited |
STL member.
|
inherited |
|
inherited |
|
protectedinherited |
struct { ... } dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::generator |
|
protectedinherited |
|
inherited |
clock resolution: HW stream frame size in samples
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
struct { ... } dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::loopback |
uint64_t dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::mask = ULLONG_MAX |
bool dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::midi = false |
|
protectedinherited |
io[directions][double buffer][channel][sample]
|
protectedinherited |
|
protectedinherited |
struct { ... } dx::stream::engine< device_t, pin_t, io_t, circular_t, driver_t >::observer |
struct { ... } dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::parameter |
|
protected |
uint32_t dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::periode = 0 |
|
protectedinherited |
|
inherited |
|
inherited |
bool dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::quiet = false |
|
inherited |
|
protectedinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
protectedinherited |
std::chrono::high_resolution_clock::duration dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::stream_duration = 0s |
struct { ... } dx::stream::engine< device_t, pin_t, io_t, circular_t, driver_t >::sync |
|
protected |
|
inherited |
struct { ... } dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::unit_test |
(c) copyright 2009 dynamic acoustics e.U. | generated on Fri Nov 15 2024 |