|
dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
|
CoreMIDI client driver interface class. More...
#include <dx_coremidi_driver.h>
Classes | |
| struct | property |
| what this driver calls its framework, as every dxd driver states it More... | |
Public Types | |
| typedef std::conditional_t< held, typename view::template iterator< typename holders::const_iterator >, typename holders::const_iterator > | const_iterator |
| typedef std::conditional_t< held, typename view::template iterator< typename holders::iterator >, typename holders::iterator > | iterator |
| typedef driver | map |
| typedef decltype(matching_ids) | match |
| typedef driver_settings< dx::promoted< dx::log >::preference< preference_t > > | settings |
| typedef std::conditional_t< held, typename view::value_type, typename holders::value_type > | value_type |
Public Member Functions | |
| void | add (const device_id_t &device_id) override |
| adds a new device to the device list | |
| void | add (const std::string &id, const typename device_t::desc_t &desc) |
| const_iterator | begin () const noexcept |
| iterator | begin () noexcept |
| virtual bool | boot () |
| void | conclude () noexcept override |
| 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. Called only through try_conclude() - never call this directly from outside the class hierarchy. | |
| bool | contains (const std::string &id) noexcept |
| driver (const match &matching_ids, const char *product_id, dx::log log={}) | |
| the driver interface class constructor | |
| const_iterator | end () const noexcept |
| iterator | end () noexcept |
| void | exception (const class exception &exception, bool filtered=false) const noexcept override |
| notification exception handler | |
| virtual void | exception (const exception &exception, bool filtered=false) const noexcept=0 |
| notification exception handler | |
| iterator | find (const device_id_t &device_id) |
| const_iterator | find (const device_id_t &device_id) const |
| void | info (std::ostream &os) noexcept override |
| log object class information | |
| void | launch () override |
| launch notification: object mounted and ready to use. Called only through try_launch() - never call this directly from outside the class hierarchy. | |
| operator bool () const noexcept override | |
| super & | operator<< (std::ifstream &ifstream) override |
| restores device tree | |
| virtual driver & | operator<< (const char *file) |
| virtual driver & | operator>> (const char *file) const |
| virtual driver & | operator>> (std::ostream &ostream) const |
| saves device tree | |
| std::shared_ptr< device_t > | operator[] (const std::string &id) |
| void | remove (const device_id_t &device_id) override |
| finds and removes a device from the device list | |
| void | remove (const std::string &id, bool=false) |
| virtual bool | shutdown () |
| client driver::shutdown/boot(): override to shutdown/boot host driver | |
| bool | try_conclude () noexcept |
| atomically conclude()s if currently launched; returns whether this call did it | |
| bool | try_launch () |
| atomically launch()es if not already launched; returns whether this call did it | |
Public Attributes | |
| ::MIDIClientRef | connection_id = 0 |
| T | elements |
| STL member. | |
| K | keys |
| STL member. | |
| std::atomic< bool > | launched {} |
| dx::log | log {} |
| cached local log level, mirrors settings::log | |
| preference_t | preference |
| const char * | product_id |
| promoted< os_result > | status {driver_not_connected} |
| uint32_t | version {DX_VERSION32} |
Protected Types | |
| typedef decltype(device_t::id) | device_id_t |
| typedef std::map< device_id_t, std::shared_ptr< device_t > > | holders |
Protected Member Functions | |
| virtual void | add (const device_id_t &)=0 |
| adds a new device to the device list | |
| virtual void | arrived () |
| notify device arrivals completed stub | |
| virtual void | arrived (device_t &) |
| notify specific device arrival stub | |
| virtual void | clear () noexcept |
| replaces std::map::clear to call virtual notification methods | |
| virtual bool | filter (const ::MIDIDeviceRef id) |
| virtual void | notify (const ::MIDINotification ¬ify) |
| virtual void | remove (const device_id_t &)=0 |
| finds and removes a device from the device list | |
| virtual void | removed () noexcept |
| notify device removals completed stub | |
| virtual void | removed (device_t &) noexcept |
| notify specific device removal stub | |
| void | sleep () override |
| < notify system will sleep | |
| void | wake () override |
Protected Attributes | |
| std::vector< property::dictionary > | matching_ids |
CoreMIDI client driver interface class.
This is the CoreMIDI interface to a driver identified by a set of matching dictionaries. The driver class is a helper to create device objects and to bind the device to the driver identified by the set of matching dictionaries.
| in | case of an error returned by the underlaying API the driver class throws a dx::exception. |
|
inherited |
|
protectedinherited |
|
protectedinherited |
|
inherited |
|
inherited |
| typedef decltype(matching_ids) dx::coremidi::driver< device_t >::match |
|
inherited |
the driver's own settings: the log a promoted::preference on the store's dx::log::id node, resolved like a stream desc (dx::log's DX_TREE_SERIALIZE), the constructor's log its default - stored as no entry, reloaded on the store's change
|
inherited |
|
inline |
the driver interface class constructor
| matching_ids | the matching dictionaries identifying the driver interface |
| product_id | drivers bundle ID |
|
inlineoverride |
adds a new device to the device list
| dx::exception |
|
inline |
|
protectedpure virtualinherited |
adds a new device to the device list
| dx::exception |
|
protectedvirtualinherited |
notify device arrivals completed stub
Reimplemented from dx::driver< device_id_t, preference_t >.
|
inlineprotectedvirtualinherited |
notify specific device arrival stub
Reimplemented in dx::stream::driver< dx::map::driver< device_t > >, and dx::stream::driver< map::driver< device_t > >.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinevirtualinherited |
|
inlineprotectedvirtualnoexceptinherited |
replaces std::map::clear to call virtual notification methods
|
inlineoverridevirtualnoexcept |
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. Called only through try_conclude() - never call this directly from outside the class hierarchy.
It is not essential to call this function; the CoreMIDI framework will automatically dispose all MIDIClients when an application terminates. However, if this method is called to dispose the last/only MIDIClient owned by an application, the MIDI server may exit if there are no other MIDIClients remaining in the system, causing all subsequent calls to MIDIClientCreate and MIDIClientCreateWithBlock by that application to fail. For this reason, disposing all of an application's MIDIClients is strongly discouraged.
Reimplemented from dx::object.
|
inlinenoexcept |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineoverridenoexceptinherited |
notification exception handler
|
pure virtualnoexceptinherited |
notification exception handler
Implemented in dx::asio::client::_device< desc_t, preference_t, stream_t, group_t >, dx::asio::client::_device< desc, preference, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::asio::client::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, dx::device< id_t, preference_t >, dx::device< dx::guid, preference >, dx::device< std::string, dx::preference >, dx::device< std::string, preference >, dx::device< std::string, preference_t >, dx::device<::AudioObjectID, cf::preference >, dx::device<::io_service_t, dx::preference >, dx::device<::io_service_t, preference_t >, dx::device<::MIDIDeviceRef, cf::preference >, dx::device<>, dx::proxy::device< preference_t >, dx::proxy::device< preference_t >, dx::proxy::device< dx::preference >, dx::proxy::device<>, dx::service::app, dx::service::client::_device< desc_t, preference_t, stream_t, group_t >, dx::service::client::_device< desc, preference, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >, dx::service::client::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, dx::service::device< preference_t >, dx::service::device< dx::preference >, dx::service::device< super_device_t >, dx::stream::object< _device_t >, dx::stream::object< device<> >, dx::stream::pin< device_t, _circular_t >, dx::usb::device< preference_t >, dx::usb::device< dx::preference >, dx::usb::platform::device< preference_t >, dx::usb::platform::device< preference_t >, dx::usb::platform::device< dx::preference >, dx::usb::platform::device< preference_t >, dx::usb::platform::device< preference_t >, dx::usb::stream::pipe< device_t, circular_t, stream_t >, dx::virtuel::stream::_device< desc_t, preference_t, stream_t, group_t >, dx::virtuel::stream::_device< desc, dx::preference, dx::stream::shared::stream< device< desc, dx::preference, dx::stream::shared::stream, group > >, group< device< desc, dx::preference, dx::stream::shared::stream, group > > >, dx::virtuel::stream::_device< desc_t, preference_t, stream_t< device< desc_t, preference_t, stream_t, group_t > >, group_t< device< desc_t, preference_t, stream_t, group_t > > >, and dx::wasapi::client::_device< desc, preference, stream< device< desc, preference, stream, group > >, group< device< desc, preference, stream, group > > >.
|
inlineprotectedvirtual |
|
inlineinherited |
|
inlineinherited |
|
inlineoverridevirtualnoexcept |
log object class information
Reimplemented from dx::object.
|
inlineoverridevirtual |
launch notification: object mounted and ready to use. Called only through try_launch() - never call this directly from outside the class hierarchy.
Reimplemented from dx::object.
|
inlineprotectedvirtual |
|
inlineoverridenoexcept |
|
inlineoverridevirtual |
restores device tree
Reimplemented from dx::map::driver< device_t >.
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
saves device tree
Reimplemented in dx::coreaudio::driver< device_t >.
|
inline |
|
inlineoverride |
finds and removes a device from the device list
| dx::exception |
|
inline |
|
protectedpure virtualinherited |
finds and removes a device from the device list
|
protectedvirtualinherited |
notify device removals completed stub
Reimplemented from dx::driver< device_id_t, preference_t >.
|
inlineprotectedvirtualnoexceptinherited |
notify specific device removal stub
|
inlinevirtualinherited |
client driver::shutdown/boot(): override to shutdown/boot host driver
Reimplemented in dx::coreaudio::driver< device_t >.
|
inlineoverrideprotectedinherited |
< notify system will sleep
notify system wake completed stub
|
inlinenoexceptinherited |
atomically conclude()s if currently launched; returns whether this call did it
|
inlineinherited |
atomically launch()es if not already launched; returns whether this call did it
|
inlineoverrideprotectedinherited |
| ::MIDIClientRef dx::coremidi::driver< device_t >::connection_id = 0 |
|
inherited |
STL member.
|
inherited |
STL member.
|
inherited |
|
inherited |
cached local log level, mirrors settings::log
|
protected |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |