|
dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
|
Windows MIDI Services client device: one UMP endpoint. More...
#include <dx_midi_services_device.h>
Public Types | |
| typedef desc_t | desc_t |
| typedef event | event_t |
| typedef std::conditional_t< std::is_void_v< void >, dx::stream::group< device >, void > | group_t |
| bus devices driving their groups' tick pass their own group type | |
| typedef promoted< uint32_t >::template preference< decltype(dx::stream::control< dx::device< std::string, preference_t > >::preference)> | source_t |
Public Member Functions | |
| __dx_catchall (std::cerr<< dx::exception(&exception, exception.error, __PRETTY_FUNCTION__, __FILE__, __LINE__)<< std::endl;,) void conclude() noexcept | |
| void | attach (channel_t **io[dx::stream::direction::directions][2], const std::vector< bool >(&channel_map)[2]) |
| void | conclude () noexcept override |
| ends every group's session before the device's resources go; the start counts stay with their holders | |
| virtual bool | hw_clock () const noexcept |
| virtual void | hw_clock (abstract::event *hw_clock, uint32_t iosize) |
| group_t & | operator[] (const typename desc_t::stream::desc &stream) |
| the stream's group, created on first use | |
| virtual std::pair< source_t &, bool > | source (const struct desc_t::stream &stream) |
| the stream's source selector, created on first use: the preference by stream target, the value an index into the stream's sources | |
| void | wake () override |
Public Attributes | |
| dx::shared::guard< std::map< abstract::event *, dx::stream::clock::consumer > > | clock |
| event -> its own iosize and sample counter | |
| promoted< uint32_t >::preference< decltype(dx::stream::control< dx::device< std::string, preference_t > >::preference)> | clocksource |
| std::map< decltype(desc_t::stream::group), group_t > | group |
| struct { | |
| dx::shared::guard< std::map< abstract::event *, dx::stream::clock::consumer > > clock | |
| event -> its own iosize and sample counter More... | |
| uint32_t iosize | |
| staging value for registration paths without their own iosize argument (macOS CF property bridge) More... | |
| } | hw |
| promoted< std::string >::preference< decltype(dx::stream::control< dx::device< std::string, preference_t > >::preference)> | icon |
| promoted< uint32_t >::preference< decltype(dx::stream::control< dx::device< std::string, preference_t > >::preference)> | iosize |
| uint32_t | iosize |
| staging value for registration paths without their own iosize argument (macOS CF property bridge) | |
| dx::stream::device::monitor | monitor |
| promoted< uint32_t >::preference< decltype(dx::stream::control< dx::device< std::string, preference_t > >::preference)> | samplerate |
| std::map< decltype(desc_t::stream::target.idx()), source_t > | sources |
| promoted< uint32_t > | start {0} |
| promoted< bool > | started {false} |
| promoted< structdesc_t::stream * >::template preference< decltype(dx::stream::control< dx::device< std::string, preference_t > >::preference), uint32_t > | sync_reference |
| dx::stream::device::monitor | version |
Static Public Attributes | |
| static constexpr bool | hosted |
| the transport's settings belong to another process' device: a hosted device mirrors them through its chains, it keeps no store of them | |
Protected Member Functions | |
| dx_catchall_rethrow() public | _device (decltype(super::driver)&driver, decltype(super::id)&id, const desc_t &desc) |
| the Windows MIDI Services device class constructor | |
| void | connect (stream_t &stream) try |
| the session and the connection made by the first stream to run, the callback set ahead of Open() | |
| dx_catchall_handler (this,) std | |
| dx_catchall_handler (this,) void send(int64_t timestamp | |
| whole packets to the endpoint, at the moment given - the service schedules them - or at once for 0 | |
| dx_catchall_rethrow () void disconnect(stream_t &stream) noexcept | |
| the last stream to halt closes the connection | |
| dx_catchall_rethrow () ~_device() override | |
| dx_pass (raw->SendMidiMessagesRaw(timestamp? static_cast< uint64_t >(dx::qpc(timestamp).QuadPart):api::MidiClock::TimestampConstantSendImmediately(), count, words)) | |
| void | info (std::ostream &os) noexcept override try |
| void | release () noexcept try |
| void | updated (const enumeration::MidiEndpointDeviceInformationUpdatedEventArgs &args) try |
| what the watcher says changed at the endpoint: logged | |
Protected Attributes | |
| uint32_t | count |
| std::function< void()> | flush_hook = []{} |
| std::function< void()> | halt_hook = []{} |
| uint32_t | maximum {} |
| words a transmission takes, read when the connection opens | |
| std::function< void()> | run_hook = []{} |
| uint32_t const uint32_t *words | try |
Windows MIDI Services client device: one UMP endpoint.
Identified by its endpoint device id; what the service says of it - the transport's name, maker, serial and USB ids, the declared endpoint info, the group terminal blocks - read at construction. Its streams are the driver's desc - an in and an out of one pin each - over the one connection the device makes, in a session of its own, while a stream runs.
|
inherited |
|
inherited |
|
inherited |
bus devices driving their groups' tick pass their own group type
|
inherited |
|
inlineprotected |
the Windows MIDI Services device class constructor
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlineoverridenoexceptinherited |
ends every group's session before the device's resources go; the start counts stay with their holders
|
inlineprotected |
the session and the connection made by the first stream to run, the callback set ahead of Open()
|
inlineprotected |
|
protected |
whole packets to the endpoint, at the moment given - the service schedules them - or at once for 0
|
inlineprotectednoexcept |
the last stream to halt closes the connection
|
inlineoverrideprotected |
|
protected |
|
inlinevirtualnoexceptinherited |
|
inlinevirtualinherited |
|
inlineoverrideprotectednoexcept |
|
inlineinherited |
the stream's group, created on first use
|
inlineprotectednoexcept |
|
inlinevirtualinherited |
the stream's source selector, created on first use: the preference by stream target, the value an index into the stream's sources
|
inlineprotected |
what the watcher says changed at the endpoint: logged
|
inlineoverrideinherited |
|
inherited |
event -> its own iosize and sample counter
|
inherited |
|
protected |
|
protectedinherited |
|
inherited |
streaming groups by desc::stream::group id: every stream of this device is registered with its group
|
protectedinherited |
|
staticconstexprinherited |
the transport's settings belong to another process' device: a hosted device mirrors them through its chains, it keeps no store of them
| struct { ... } dx::stream::device< dx::stream::control< dx::device< std::string, preference_t > >, desc_t, stream_t, void >::hw |
|
inherited |
|
inherited |
|
inherited |
staging value for registration paths without their own iosize argument (macOS CF property bridge)
|
protected |
words a transmission takes, read when the connection opens
|
inherited |
|
protectedinherited |
|
inherited |
|
inherited |
source selectors by stream target: a stream with sources gets its own on first use
|
inherited |
|
inherited |
|
inherited |
|
protected |
|
inherited |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |