|
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 |
|
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) try |
|
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 |
|
bool | head () const noexcept override |
|
void | help_scope () override |
|
void | iosize (const args &args) try |
| set/get I/O streaming block size
|
|
void | list (const args &={}) |
|
void | loglevel (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_generator (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 |
|
void | sync_reference (const args &args) try |
| set/get I/O streaming block size
|
|
void | unittest (const args &args) try |
|
void | unittest_align (const args &={}) try |
|
void | unittest_buffer (const args &args={}) try |
|
void | unittest_format (const args &={}) try |
|
void | unittest_mask (args &args) try |
|
void | unittest_preference (const args &={}) try |
|
void | unittest_preference_erase (const decltype(device_t::preference)&preferences, uint32_t &leaves) try |
|
void | unittest_preference_write (const decltype(device_t::preference)&preference, const std::chrono::high_resolution_clock::time_point &timeout, uint32_t &leaves) try |
|
void | unittest_stream_duration (args &args) try |
|
void | update () noexcept try |
|
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = dx::test::midi::device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = dx::stream::engine<device_t, audio_pin_t, driver_t, io_t>>
dx::test::midi::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::driver |
( |
const typename super::match & | match, |
|
|
const char * | product_id ) |
|
inline |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
static void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::abort |
( |
int | | ) |
|
|
inlinestaticprotectednoexceptinherited |
template<typename device_t , typename pin_t , typename driver_t = proxy::driver<device_t>, typename io_t = int32_t, typename circular_t = typename pin_t::circular_t>
|
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.
- Todo
- forward pin creation exception to be thrown at engine::start()
Reimplemented from dx::map::driver< device_t >.
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
template<typename data_t >
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::buffer |
( |
size_t | size = 0x1000, |
|
|
uint32_t | rx = 1, |
|
|
uint32_t | tx = 1, |
|
|
const std::chrono::high_resolution_clock::duration & | duration = 3s ) const |
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::buffer_header |
( |
| ) |
const |
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = dx::test::midi::device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = dx::stream::engine<device_t, audio_pin_t, driver_t, io_t>>
dx::test::midi::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::catch |
( |
| ... | ) |
|
|
inline |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = dx::test::midi::device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = dx::stream::engine<device_t, audio_pin_t, driver_t, io_t>>
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = dx::test::midi::device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = dx::stream::engine<device_t, audio_pin_t, driver_t, io_t>>
dx::test::midi::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, driver_t, engine_t >::catch |
( |
const std::exception & | __std_exception | ) |
|
|
inline |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::clock |
( |
const args & | args = {} | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::clock_monitor |
( |
device_t & | device, |
|
|
std::chrono::high_resolution_clock::duration | duration ) |
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::device_arrival_removal |
( |
const args & | = {} | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::device_reset |
( |
const args & | = {} | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::enumerate_os_audio |
( |
const args & | args = {} | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::filter |
( |
const args & | cargs = {} | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
bool dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::head |
( |
| ) |
const |
|
inlineoverrideprotectedvirtualnoexceptinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::help_scope |
( |
| ) |
|
|
inlineoverrideprotectedvirtualinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::info |
( |
std::ostream & | os | ) |
|
|
inlineoverridevirtualnoexceptinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::iosize |
( |
const args & | args | ) |
|
|
inlineprotectedinherited |
set/get I/O streaming block size
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::list |
( |
const args & | = {} | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::loglevel |
( |
args & | args | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::meta_buffer |
( |
size_t | size, |
|
|
uint32_t | rx, |
|
|
uint32_t | tx, |
|
|
const std::chrono::high_resolution_clock::duration & | duration ) const |
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = dx::test::midi::device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = dx::stream::engine<device_t, audio_pin_t, driver_t, io_t>>
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::notify |
( |
| ) |
|
|
inlineoverrideprotectednoexceptinherited |
template<typename device_t , typename pin_t , typename driver_t = proxy::driver<device_t>, typename io_t = int32_t, typename circular_t = typename pin_t::circular_t>
|
inlineprotectedvirtualnoexceptinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
|
inlineoverrideprotectedvirtualnoexceptinherited |
template<typename device_t , typename pin_t , typename driver_t = proxy::driver<device_t>, typename io_t = int32_t, typename circular_t = typename pin_t::circular_t>
void dx::stream::engine< device_t, pin_t, driver_t, io_t, circular_t >::removed |
( |
device_t & | | ) |
|
|
inlineoverrideprotectedvirtualnoexceptinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::safety_offset |
( |
const args & | args | ) |
|
|
inlineprotectedinherited |
set/get streaming safety offset
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
static void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::sig |
( |
int | | ) |
|
|
inlinestaticprotectednoexceptinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::streaming_generator |
( |
args & | args | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::streaming_monitor |
( |
const args & | args | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::streaming_reset |
( |
const args & | = {} | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::sync_reference |
( |
const args & | args | ) |
|
|
inlineprotectedinherited |
set/get I/O streaming block size
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::unittest |
( |
const args & | args | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::unittest_align |
( |
const args & | = {} | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::unittest_buffer |
( |
const args & | args = {} | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::unittest_format |
( |
const args & | = {} | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::unittest_mask |
( |
args & | args | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::unittest_preference |
( |
const args & | = {} | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::unittest_preference_erase |
( |
const decltype(device_t::preference)& | preferences, |
|
|
uint32_t & | leaves ) |
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::unittest_preference_write |
( |
const decltype(device_t::preference)& | preference, |
|
|
const std::chrono::high_resolution_clock::time_point & | timeout, |
|
|
uint32_t & | leaves ) |
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::unittest_stream_duration |
( |
args & | args | ) |
|
|
inlineprotectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
std::deque<typename parameter::generator> dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::generator |
|
protectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
std::deque<typename parameter::mask> dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::loopback |
|
protectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
struct dx::test::driver::parameter dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::parameter |
|
protectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
std::deque<typename parameter::mask> dx::test::driver< super_device_t, audio_pin_t, io_t, device_t, driver_t, engine_t >::pattern |
|
protectedinherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>
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 |
|
inherited |
template<typename super_device_t , typename audio_pin_t , typename io_t = int32_t, typename device_t = device<super_device_t>, typename driver_t = dx::proxy::driver<device_t>, typename engine_t = stream::engine<device_t, audio_pin_t, driver_t, io_t>>