|
dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
|
Windows MIDI Services client driver interface class. More...
#include <dx_midi_services_driver.h>
Classes | |
| struct | property |
Public Member Functions | |
| virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END bool | boot () try |
| virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END bool | boot () try |
| DX_PRAGMA_IGNORE_RETURN_VALUE_END void | exception (const class exception &exception, bool filtered=false) const noexcept override try |
| notification exception handler | |
| DX_PRAGMA_IGNORE_RETURN_VALUE_END void | exception (const class exception &exception, bool filtered=false) const noexcept override try |
| notification exception handler | |
| virtual void | exception (const exception &exception, bool filtered=false) const noexcept=0 |
| notification exception handler | |
| virtual void | exception (const exception &exception, bool filtered=false) const noexcept=0 |
| notification exception handler | |
| virtual bool | shutdown () try |
| client driver::shutdown/boot(): override to shutdown/boot host driver | |
| virtual bool | shutdown () try |
| 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_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 | |
| bool | try_launch () |
| atomically launch()es if not already launched; returns whether this call did it | |
Public Attributes | |
| T | elements |
| STL member. | |
| T | elements |
| STL member. | |
| K | keys |
| STL member. | |
| K | keys |
| STL member. | |
| std::atomic< bool > | launched |
| std::atomic< bool > | launched {} |
| dx::log | log {} |
| cached local log level, mirrors driver_settings::log | |
| dx::log | log |
| cached local log level, mirrors driver_settings::log | |
| preference_t | preference |
| decltype(device_t::preference) | preference |
| const char * | product_id |
| const char * | product_id |
| promoted< os_result > | status {driver_not_connected} |
| promoted< os_result > | status |
| uint32_t | version = DX_VERSION32 |
| uint32_t | version |
Protected Types | |
| typedef std::conditional_t< held, typename view::template iterator< typename holders::const_iterator >, typename holders::const_iterator > | const_iterator |
| typedef decltype(device_t::id) | device_id_t |
| typedef std::map< device_id_t, std::shared_ptr< device_t > > | holders |
| typedef std::conditional_t< held, typename view::template iterator< typename holders::iterator >, typename holders::iterator > | iterator |
Protected Member Functions | |
| virtual void | add (const device_id_t &)=0 |
| adds a new device to the device list | |
| virtual void | add (const decltype(device_t::id) &)=0 |
| adds a new device to the device list | |
| void | add (const device_id_t &device_id) override |
| 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 | |
| const_iterator | begin () const noexcept |
| iterator | begin () noexcept |
| catch (...) | |
| catch (...) | |
| DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN | catch (const dx::exception &__dx_exception) |
| DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN | catch (const dx::exception &__dx_exception) |
| catch (const std::exception &__std_exception) | |
| catch (const std::exception &__std_exception) | |
| virtual DX_PRAGMA_IGNORE_RETURN_VALUE_END void | clear () noexcept try |
| replaces std::map::clear to call virtual notification methods | |
| DX_PRAGMA_IGNORE_RETURN_VALUE_END 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. Called only through try_conclude() - never call this directly from outside the class hierarchy. | |
| driver (const match &matching_ids, const char *product_id, const decltype(super::preference)&preference, dx::log log={}) | |
| the Windows MIDI Services client driver interface class constructor | |
| driver (const match &matching_ids, const char *product_id, dx::log log={}) | |
| dx_catchall_handler (this,) virtual driver &operator<<(std | |
| restores device settings | |
| dx_catchall_rethrow () void conclude() noexcept override | |
| const_iterator | end () const noexcept |
| iterator | end () noexcept |
| iterator | find (const device_id_t &device_id) |
| const_iterator | find (const device_id_t &device_id) const |
| void | found (const enumeration::MidiEndpointDeviceInformation &endpoint) try |
| an endpoint the watcher reports: taken where it matches | |
| void | info (std::ostream &os) noexcept override |
| log object class information | |
| void | launch () override try |
| launch notification: object mounted and ready to use. Called only through try_launch() - never call this directly from outside the class hierarchy. | |
| bool | matches (const enumeration::MidiEndpointDeviceInformation &endpoint) const |
| any dictionary whose entries all match (case-insensitive substrings) takes the endpoint; an empty match takes every endpoint | |
| virtual | operator bool () const noexcept |
| virtual driver & | operator<< (const char *file) |
| virtual driver & | operator>> (const char *file) const |
| virtual driver & | operator>> (std::ostream &ostream) const |
| saves device tree | |
| virtual void | remove (const device_id_t &)=0 |
| finds and removes a device from the device list | |
| virtual void | remove (const decltype(device_t::id) &)=0 |
| finds and removes a device from the device list | |
| void | remove (const device_id_t &device_id) override try |
| finds and removes a device from the device list | |
| virtual void | removed (device_t &) noexcept |
| notify specific device removal stub | |
| void | sleep () override |
| < notify system will sleep | |
| void | wake () override |
| ~driver () override | |
Static Protected Member Functions | |
| static device_t::desc_t | endpoint () |
| what every endpoint is to this bus: an in and an out stream of Universal MIDI Packets, one pin each, the group inside the word, a ring of buffers words; a product sets its own ahead of launch, the device takes it and adds what the service says of the endpoint | |
Protected Attributes | |
| device_t::desc_t | desc = endpoint() |
| enumeration::MidiEndpointDeviceInformationFilters | filters = enumeration::MidiEndpointDeviceInformationFilters::AllStandardEndpoints |
| what the watcher lists, set ahead of launch: the standard endpoints, DiagnosticLoopback beside them for a round trip without a device | |
| dx_catchall_handler(this,) public typedef decltype(matching_ids) | match |
| std::vector< dictionary > | matching_ids |
| api::MidiApiMode | mode {} |
| dx_catchall_handler(this,) public typedef std::conditional_t< held, typename view::value_type, typename holders::value_type > | value_type |
Windows MIDI Services client driver interface class.
One device per UMP endpoint, identified by its endpoint device id and matched by substrings of what the service says of it. Arrival and removal come from the SDK's endpoint watcher.
| in | case of an error returned by the underlaying API the driver class throws a dx::exception. |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
inlineprotected |
the Windows MIDI Services client driver interface class constructor
| matching_ids | the matching dictionaries identifying the endpoints |
| product_id | client driver ID |
| preference | preference |
| log | log settings |
|
inlineprotected |
|
inlineoverrideprotected |
|
protectedpure virtualinherited |
adds a new device to the device list
| dx::exception |
|
protectedpure virtualinherited |
adds a new device to the device list
| dx::exception |
|
inlineoverrideprotectedinherited |
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 > >.
|
inlineprotectednoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inlinevirtualinherited |
|
inlinevirtualinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedvirtualnoexceptinherited |
replaces std::map::clear to call virtual notification methods
|
inlineoverrideprotectedvirtualnoexceptinherited |
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.
Reimplemented from dx::object.
Reimplemented in dx::wasapi::client::driver< device_t >.
|
inlineprotectedinherited |
restores device settings
|
inlineoverrideprotectednoexcept |
|
inlineprotectednoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inlinestaticprotected |
what every endpoint is to this bus: an in and an out stream of Universal MIDI Packets, one pin each, the group inside the word, a ring of buffers words; a product sets its own ahead of launch, the device takes it and adds what the service says of the endpoint
|
inlineoverridenoexceptinherited |
notification exception handler
|
inlineoverridenoexceptinherited |
notification exception handler
|
pure virtualnoexceptinherited |
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< dx::preference >, 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::stream::pin< device_t, _circular_t >, dx::usb::platform::device< preference_t >, dx::usb::platform::device< dx::preference >, 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 > > >.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotected |
an endpoint the watcher reports: taken where it matches
|
inlineoverrideprotectedvirtualnoexcept |
log object class information
Reimplemented from dx::map::driver< device_t >.
|
inlineoverrideprotectedvirtual |
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::map::driver< device_t >.
|
inlineprotected |
any dictionary whose entries all match (case-insensitive substrings) takes the endpoint; an empty match takes every endpoint
|
inlineprotectedvirtualnoexcept |
|
inlineprotectedvirtualinherited |
|
inlineprotectedvirtualinherited |
|
inlineprotectedvirtualinherited |
saves device tree
Reimplemented in dx::coreaudio::driver< device_t >.
|
protectedpure virtualinherited |
finds and removes a device from the device list
|
protectedpure virtualinherited |
finds and removes a device from the device list
|
inlineoverrideprotectedinherited |
finds and removes a device from the device list
| dx::exception |
|
inlineprotectedvirtualnoexceptinherited |
notify specific device removal stub
|
inlinevirtualinherited |
client driver::shutdown/boot(): override to shutdown/boot host driver
Reimplemented in dx::coreaudio::driver< device_t >.
|
inlinevirtualinherited |
client driver::shutdown/boot(): override to shutdown/boot host driver
|
inlineoverrideprotectedinherited |
< notify system will sleep
notify system wake completed stub
|
inlinenoexceptinherited |
atomically conclude()s if currently launched; returns whether this call did it
|
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
|
inlineinherited |
atomically launch()es if not already launched; returns whether this call did it
|
inlineoverrideprotectedinherited |
| ::winrt::event_token dx::midi::services::driver< device_t >::added |
| ::winrt::event_token dx::midi::services::driver< device_t >::completed |
|
protected |
|
inherited |
STL member.
|
inherited |
STL member.
|
protected |
what the watcher lists, set ahead of launch: the standard endpoints, DiagnosticLoopback beside them for a round trip without a device
|
inherited |
STL member.
|
inherited |
STL member.
|
inherited |
|
inherited |
|
inherited |
cached local log level, mirrors driver_settings::log
|
inherited |
cached local log level, mirrors driver_settings::log
|
protected |
|
protected |
|
protected |
the API mode the machine runs in, read at launch: in legacy mode the service lists no device
|
inherited |
|
inherited |
|
inherited |
|
inherited |
| ::winrt::event_token dx::midi::services::driver< device_t >::removed |
|
inherited |
|
inherited |
| ::winrt::event_token dx::midi::services::driver< device_t >::updated |
|
protectedinherited |
|
inherited |
|
inherited |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |