|
dx_catchall_handler(this,) using driver< device_t > void | arrived () override try |
| notify device arrivals completed stub
|
|
virtual void | arrived (device_t &) |
| notify specific device arrival stub
|
|
::ASIOError | canSampleRate (::ASIOSampleRate samplerate) noexcept override |
|
| 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 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
|
|
virtual void | conclude () noexcept |
|
void | conclude () noexcept override |
|
::ASIOError | controlPanel () noexcept override |
|
::CFStringRef | copy () const |
|
::ASIOError | createBuffers (::ASIOBufferInfo *info, long channels, long iosize, ::ASIOCallbacks *callbacks) noexcept override |
|
virtual void | detach () noexcept |
|
::ASIOError | disposeBuffers () noexcept override |
|
| dx_catchall () static void idle(int64_t nsec) |
|
| dx_catchall () static void idle(uint64_t timeout) noexcept |
|
void | exception (const exception &exception, bool filtered=false) const noexcept override |
| 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 |
|
::ASIOError | future (long selector, void *) noexcept override |
|
::ASIOError | getBufferSize (long *min, long *max, long *preferred, long *granularity) noexcept override |
|
::ASIOError | getChannelInfo (::ASIOChannelInfo *info) noexcept override |
|
::ASIOError | getChannels (long *ins, long *outs) noexcept override |
|
::ASIOError | getClockSources (::ASIOClockSource *clocks, long *sources) noexcept override |
|
void | getDriverName (char *name) noexcept override |
|
long | getDriverVersion () noexcept override |
|
void | getErrorMessage (char *string) noexcept override |
|
::ASIOError | getLatencies (long *rx, long *tx) noexcept override |
|
::ASIOError | getSamplePosition (::ASIOSamples *samples, ::ASIOTimeStamp *timestamp) noexcept override |
| Inquires the sample position/time stamp pair.
|
|
::ASIOError | getSampleRate (::ASIOSampleRate *samplerate) noexcept override |
|
void | halt () noexcept override |
| stop streaming engine
|
|
CFTypeID | id () noexcept |
|
CFTypeID | id () noexcept |
|
CFTypeID | id () noexcept |
|
CFTypeID | id () noexcept |
|
CFTypeID | id () noexcept |
|
CFTypeID | id () noexcept |
|
CFTypeID | id () noexcept |
|
CFTypeID | id () noexcept |
|
CFTypeID | id () noexcept |
|
CFTypeID | id () noexcept |
|
::ASIOBool | init (void *) noexcept override |
|
reference & | initialize (cf_object_t cf_object, bool retain=true) |
|
realtime & | initialize (const std::chrono::high_resolution_clock::duration &resolution) |
|
void | initialize (const typename clock_t::duration &duration) |
|
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 () |
|
DECLARE_IUNKNOWN ::HRESULT STDMETHODCALLTYPE | NonDelegatingQueryInterface (const ::IID &riid, void **object) noexcept override |
|
void | notify () noexcept override |
| notify change from device requiring streaming reset
|
|
void | notify (unsigned int samplerate) noexcept override |
| notify sample rate change from device
|
|
| 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::CFRunLoopSourceRef () 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 |
|
| operator::IONotificationPortRef () const noexcept |
|
| operator::mach_port_t () const noexcept |
|
bool | operator< (::CFStringRef value) 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== (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) |
|
::ASIOError | outputReady () noexcept override |
|
void | overload () noexcept override |
|
void | process (int64_t timestamp) noexcept override |
|
reference & | release () noexcept |
|
virtual void | removed () noexcept |
| notify device removals completed stub
|
|
void | removed (device_t &device) noexcept override |
| notify specific device removal stub
|
|
reference & | retain () noexcept |
|
void | run () override try |
| start streaming engine
|
|
uint32_t | samplerate () const try |
|
void | samplerate (uint32_t samplerate) try |
|
::ASIOError | setClockSource (long index) noexcept override |
|
::ASIOError | setSampleRate (::ASIOSampleRate samplerate) noexcept override |
|
void | sleep () override |
|
::ASIOError | start () noexcept override |
|
::ASIOError | stop () noexcept override |
|
void | sync (const std::chrono::high_resolution_clock::time_point &now) override try |
|
virtual void | sync (const typename clock_t::time_point &now) |
|
void | tick () override try |
|
void | update () noexcept try |
|
void | wait () try |
|
void | wake () override |
|
| ~asio () noexcept |
|
|
inlineoverrideprotectednoexcept |
Inquires the sample position/time stamp pair.
In order to be able to synchronize properly, the sample position / time stamp pair must refer to the current block, that is, the engine will call ASIOGetSamplePosition() in its bufferSwitch() callback and expect the time for the first sample of the current block. Thus, when requested in the very first bufferSwitch after ASIOStart(), the sample position should be zero, and the time stamp should refer to the very time where the stream was started. It also means that the sample position must be block aligned. The driver must ensure proper interpolation if the system time can not be determined for the block position. The driver is responsible for precise time stamps as it usually has most direct access to lower level resources. Proper behavior of ASIOGetSamplePosition() and ASIOGetLatencies() are essential for precise media synchronization!
- Exceptions
-
If | no input/output is present, ASE_NotPresent will be returned. If there is no clock, ASE_SPNotAdvancing will be returned. |
- Parameters
-
samples | will hold the sample position on return. The sample position is reset to zero when ASIOStart() gets called. |
timestamp | will hold the system time on return when the sample position was latched |