dxd - dynax driver framework  3211
cross platform open source driver development framework
dx::coremidi::plugin< device_t, pin_t > Class Template Reference

CoreMIDI plugin. More...

#include <dx_coremidi.h>

+ Inheritance diagram for dx::coremidi::plugin< device_t, pin_t >:
+ Collaboration diagram for dx::coremidi::plugin< device_t, pin_t >:

Public Member Functions

 operator::MIDIDriverRef () noexcept
 
 plugin (const ::CFDictionaryRef match)
 

Public Attributes

::MIDIDriverInterface * interface = static_cast<::MIDIDriverInterface*>(this)
 

Protected Member Functions

void arrived (device &device) override
 encode and send MIDI from system to device void send(const::MIDIPacketList*pktlist,pin_t*pin){ if(!pin)throw static_cast(not_initialized); pin->send(pktlist); } More...
 
void exception (const dx::exception &exception) const noexcept override
 notification exception handler More...
 

Private Types

typedef ::CFDictionaryRef match
 
typedef ::GUID match
 

Private Member Functions

virtual void arrived (device< device_t, pin< pin_t > > &)
 notify specific device arrival stub More...
 
virtual void arrived ()
 notify device arrivals completed stub More...
 
virtual void clear () noexcept
 replaces non-virtual std::deque::clear to call virtual notification methods More...
 
virtual void clear () noexcept
 replaces non-virtual std::deque::clear to call virtual notification methods More...
 
virtual void conclude () noexcept
 
virtual void conclude () noexcept
 
device< device_t, pin< pin_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(). More...
 
virtual void launch ()
 
virtual void launch ()
 
virtual void removed (device< device_t, pin< pin_t > > &) noexcept
 notify specific device removal stub More...
 
virtual void removed () noexcept
 notify device removals completed stub More...
 
virtual void removed (device< device_t, pin< pin_t > > &) noexcept
 notify specific device removal stub More...
 
virtual void removed () noexcept
 notify device removals completed stub More...
 

Static Private Member Functions

static void idle (int64_t nsec)
 
static void idle (uint64_t timeout) noexcept
 

Private Attributes

elements
 STL member. More...
 

Detailed Description

template<typename device_t, typename pin_t>
class dx::coremidi::plugin< device_t, pin_t >

CoreMIDI plugin.

Constructor & Destructor Documentation

◆ plugin()

template<typename device_t , typename pin_t >
dx::coremidi::plugin< device_t, pin_t >::plugin ( const ::CFDictionaryRef  match)
inline

Member Function Documentation

◆ arrived()

template<typename device_t , typename pin_t >
void dx::coremidi::plugin< device_t, pin_t >::arrived ( device &  device)
inlineoverrideprotected

encode and send MIDI from system to device void send(const::MIDIPacketList*pktlist,pin_t*pin){ if(!pin)throw static_cast(not_initialized); pin->send(pktlist); }

create CoreMIDI device and attach it to CoreMIDI server

◆ exception()

template<typename device_t , typename pin_t >
void dx::coremidi::plugin< device_t, pin_t >::exception ( const dx::exception exception) const
inlineoverrideprotectedvirtualnoexcept

notification exception handler

Reimplemented from dx::driver< device< device_t, pin< pin_t > > >.

◆ operator::MIDIDriverRef()

template<typename device_t , typename pin_t >
dx::coremidi::plugin< device_t, pin_t >::operator::MIDIDriverRef ( )
inlinenoexcept

Member Data Documentation

◆ interface

template<typename device_t , typename pin_t >
::MIDIDriverInterface* dx::coremidi::plugin< device_t, pin_t >::interface = static_cast<::MIDIDriverInterface*>(this)

The documentation for this class was generated from the following file:

(c) copyright 2009 dynamic acoustics e.U. generated on Sat Aug 22 2020

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.