dxd - dynax driver framework 2.2.0d81
cross platform open source driver development framework
|
#include <dx_test.h>
Classes | |
class | clog |
struct | match_helper |
struct | match_helper< std::vector< std::string > > |
Public Types | |
typedef std::deque< std::string > | args |
typedef device_t::desc | desc |
typedef decltype(matching_ids) | match |
typedef decltype(matching_ids) | match |
Public Member Functions | |
dx_catchall_rethrow() using super void | add (const std::string &id, const typename device_t::desc &desc) |
virtual void | detach () noexcept |
driver (const typename super::match &match, const char *id, std::map< std::deque< std::string >, dispatch > dictionary={}) | |
void | exception (const class exception &exception, bool filtered=false) const noexcept override try |
notification exception handler | |
virtual void | exception (const exception &exception, bool filtered=false) const noexcept=0 |
notification exception handler | |
virtual void | free () noexcept |
void | halt () noexcept override |
stop streaming engine | |
virtual void | help (args &args) |
void | info (std::ostream &os) noexcept override |
log object class information | |
template<unsigned int max_channels> | |
void | initialize (uint32_t iosize, uint64_t channel_map[2][(max_channels+63)/64]) try |
void | launch () override try |
launch notification: object mounted and ready to use | |
virtual void | launch () try |
launch notification: object mounted and ready to use | |
void | operator<< (args &args) try |
void | operator<< (const args &args) |
virtual void | quiet (const args &={}) noexcept |
void | remove (const device_id_t &device_id) override try |
finds and removes a device from the device list | |
void | remove (const std::string &id) |
void | run () override try |
start streaming engine | |
uint32_t | samplerate () const try |
void | samplerate (uint32_t samplerate) try |
virtual void | version (const args &={}) noexcept |
Public Attributes | |
class redirect::indent::streambuf dx::test::driver::clog | cerr |
class redirect::indent::streambuf dx::test::driver::clog | cout |
std::map< std::deque< std::string >, dispatch > | dictionary |
T | elements |
STL member. | |
K | keys |
STL member. | |
bool | launched {} |
log | log |
const char * | product_id |
io::registry | registry |
std::deque< setup > | setup |
uint32_t | version |
Protected Member Functions | |
void | add (const device_id_t &device_id) override try |
adds a new device to the device list | |
dx_catchall_handler(this,) using super 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 try |
replaces std::map::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 | conclude () noexcept override try |
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. | |
void | device_arrival_removal (const args &={}) try |
void | device_reset (const args &={}) try |
void | enumerate_os_audio (const args &args={}) try |
void | filter (const args &cargs={}) try |
void | generator (const args &args={}) try |
bool | head () const noexcept override |
void | info (const args &={}) |
void | iosize (const args &args) try |
set/get I/O streaming block size | |
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 | notify () noexcept override |
virtual void | notify (uint32_t) noexcept |
notify sample rate change from device | |
virtual void | overload () noexcept |
void | process (int64_t) noexcept override |
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 |
set/get streaming safety offset | |
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 |
void | sync_reference (const args &args) try |
set/get I/O streaming block size | |
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 |
Static Protected Member Functions | |
static void | abort (int) noexcept |
static void | sig (int) noexcept |
Protected Attributes | ||
struct { | ||
circular_t * circular [direction::directions] | ||
force_read force_read | ||
force_write force_write | ||
struct { | ||
volatile uint32_t * samplerate | ||
} observer | ||
struct { | ||
bool engine_driven | ||
pins do not provide any means of driving streaming More... | ||
struct { | ||
uint32_t interval | ||
clock resolution: HW stream frame size in samples More... | ||
uint32_t linesize | ||
uint32_t safety_offset | ||
} io [direction::directions] | ||
direction::direction reference | ||
uint32_t samplerate | ||
int64_t trigger | ||
resync condition More... | ||
} sync | ||
} | cache | |
std::shared_ptr< device_t > | device | |
uint32_t | dropout = 0 | |
uint64_t | frame = 0 | |
bool | hw_clock = false | |
io_t ** | io [direction::directions][2] {} | |
uint32_t | iosize = 0 | |
bool | kernel_streaming = false | |
std::vector<::GUID > | matching_ids | |
dx::stream::clock::monitor * | monitor = nullptr | |
io[directions][double buffer][channel][sample] | ||
struct dx::proxy::driver::notification | notification | |
struct { | ||
struct { | ||
double denominator | ||
uint32_t periode = 0 | ||
} generator | ||
struct { | ||
bool audio = false | ||
bool midi = false | ||
} loopback | ||
} | parameter | |
std::shared_ptr< pin_t > | pin [direction::directions] | |
uint64_t | tick = 0 | |
struct { | ||
uint64_t mask = ULLONG_MAX | ||
std::chrono::high_resolution_clock::duration stream_duration = 0s | ||
} | unit_test | |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inline |
|
inlinestaticprotectednoexcept |
|
inlineoverrideprotectedvirtualinherited |
adds a new device to the device list
dx::exception |
Implements dx::driver< decltype(device_t::id)>.
Reimplemented in dx::virtuel::driver< device_t >.
|
inlineinherited |
|
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::map::driver< device_t >.
|
inlineprotectedvirtualinherited |
notify specific device arrival stub
Reimplemented in dx::coreaudio::server::plugin< 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 |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotectednoexceptinherited |
replaces std::map::clear to call virtual notification methods
|
inlineprotected |
|
inlineprotectednoexcept |
|
inlineoverrideprotectedvirtualnoexceptinherited |
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.
|
inlinevirtualnoexceptinherited |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineoverridenoexceptinherited |
notification exception handler
|
pure virtualnoexceptinherited |
notification exception handler
Implemented in dx::device< std::string >, dx::device<::AudioObjectID >, dx::device<::io_service_t >, dx::device< id_t >, dx::proxy::device, dx::usb::platform::device, and dx::proxy::device.
|
inlineprotected |
|
inlinevirtualnoexceptinherited |
|
inlineprotected |
|
inlineoverridenoexceptinherited |
stop streaming engine
|
inlineoverrideprotectedvirtualnoexcept |
Reimplemented from dx::test::parser.
|
inlinevirtualinherited |
|
inlineprotected |
|
inlineoverridevirtualnoexceptinherited |
log object class information
Reimplemented from dx::object.
|
inlineinherited |
|
inlineprotected |
set/get I/O streaming block size
|
inlineoverridevirtualinherited |
launch notification: object mounted and ready to use
Reimplemented from dx::object.
|
inlinevirtualinherited |
launch notification: object mounted and ready to use
Reimplemented from dx::object.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineoverrideprotectednoexcept |
|
inlineprotectedvirtualnoexceptinherited |
notify sample rate change from device
Reimplemented in dx::asio< device_t, pin_t, driver_t >.
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedvirtualnoexceptinherited |
|
inlineoverrideprotectedvirtualnoexcept |
Implements dx::stream::engine< device_t, pin_t, driver_t, io_t, circular_t >.
|
inlinevirtualnoexceptinherited |
|
inlineoverridevirtualinherited |
finds and removes a device from the device list
dx::exception |
Reimplemented from dx::map::driver< device_t >.
|
inlineinherited |
|
inlineprotectedvirtualnoexceptinherited |
notify device removals completed stub
Reimplemented from dx::driver< decltype(device_t::id)>.
|
inlineoverrideprotectedvirtualnoexceptinherited |
notify specific device removal stub
Reimplemented from dx::map::driver< device_t >.
|
inlineoverrideinherited |
start streaming engine
|
inlineprotected |
set/get streaming safety offset
|
inlineinherited |
|
inlineinherited |
|
inlinestaticprotectednoexcept |
|
inlineprotected |
|
inlineprotected |
|
inlineoverrideprotectedinherited |
|
inlineprotected |
set/get I/O streaming block size
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotectednoexceptinherited |
|
inlinevirtualnoexceptinherited |
bool dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::audio = false |
struct { ... } dx::stream::engine< device_t, pin_t, driver_t, io_t, circular_t >::cache |
class redirect::indent::streambuf dx::test::driver::clog dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::cerr |
|
inherited |
class redirect::indent::streambuf dx::test::driver::clog dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::cout |
double dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::denominator |
|
protectedinherited |
|
inherited |
|
protected |
|
inherited |
STL member.
|
inherited |
pins do not provide any means of driving streaming
|
inherited |
|
inherited |
|
protectedinherited |
struct { ... } dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::generator |
|
protectedinherited |
|
inherited |
clock resolution: HW stream frame size in samples
struct { ... } dx::stream::engine< device_t, pin_t, driver_t, io_t, circular_t >::io[direction::directions] |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
inherited |
STL member.
|
inherited |
|
inherited |
|
inherited |
struct { ... } dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::loopback |
uint64_t dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::mask = ULLONG_MAX |
|
protectedinherited |
bool dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::midi = false |
|
protectedinherited |
io[directions][double buffer][channel][sample]
|
protectedinherited |
struct { ... } dx::stream::engine< device_t, pin_t, driver_t, io_t, circular_t >::observer |
struct { ... } dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::parameter |
uint32_t dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::periode = 0 |
|
protectedinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
std::chrono::high_resolution_clock::duration dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::stream_duration = 0s |
struct { ... } dx::stream::engine< device_t, pin_t, driver_t, io_t, circular_t >::sync |
|
protected |
|
inherited |
resync condition
struct { ... } dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::unit_test |
|
inherited |
(c) copyright 2009 dynamic acoustics e.U. | generated on Fri Dec 20 2024 |