|
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<< (char *argv[]) |
|
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 |
|
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::driver |
( |
const typename super::match & | match, |
|
|
const char * | id ) |
|
inline |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
static void dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::abort |
( |
int | | ) |
|
|
inlinestaticprotectednoexcept |
template<typename device_t , typename pin_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::driver< device_t >.
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
template<typename data_t >
void dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_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 |
|
inlineprotected |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::buffer_header |
( |
| ) |
const |
|
inlineprotected |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::catch |
( |
| ... | ) |
|
|
inlineprotected |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::catch |
( |
const std::exception & | __std_exception | ) |
|
|
inlineprotected |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::clock_monitor |
( |
device_t & | device, |
|
|
std::chrono::high_resolution_clock::duration | duration ) |
|
inlineprotectednoexcept |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
virtual void dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::handle |
( |
char * | arg | ) |
|
|
inlineprotectedvirtual |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
virtual void dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::help |
( |
| ) |
const |
|
inlineprotectedvirtualnoexcept |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::info |
( |
| ) |
|
|
inlineprotected |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::meta_buffer |
( |
size_t | size, |
|
|
uint32_t | rx, |
|
|
uint32_t | tx, |
|
|
const std::chrono::high_resolution_clock::duration & | duration ) const |
|
inlineprotected |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::notify |
( |
| ) |
|
|
inlineoverrideprotectedvirtualnoexcept |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::operator<< |
( |
char * | argv[] | ) |
|
|
inline |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
|
inlineoverrideprotectedvirtualnoexcept |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
static void dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::sig |
( |
int | | ) |
|
|
inlinestaticprotectednoexcept |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
void dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::unittest |
( |
const std::chrono::high_resolution_clock::duration | duration | ) |
|
|
inlineprotected |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
bool dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::audio = false |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
double dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::denominator |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
bool dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::midi = false |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
bool dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::quiet = false |
|
protected |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>
std::chrono::high_resolution_clock::duration dx::test::driver< super_device_t, audio_pin_t, midi_pin_t, io_t, device_t, engine_t >::stream_duration = 0s |
template<typename super_device_t , typename audio_pin_t , typename midi_pin_t , typename io_t = int32_t, typename device_t = device< typename audio_pin_t::circular_t, super_device_t, typename midi_pin_t::circular_t>, typename engine_t = stream::engine<device_t, audio_pin_t, io_t>>