|
| | __dx_catchall (std::cerr<< dx::exception(&exception, exception.error, __PRETTY_FUNCTION__, __FILE__, __LINE__)<< std::endl;,) void conclude() noexcept |
| struct stream * | align (struct stream *sync_reference) |
| uint32_t | align (uint32_t sync_reference) const |
| 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
|
| | device (decltype(super::driver)&driver, decltype(super::id)&id) |
| | the desc is the driver's template: the driver that makes a device is this bus's
|
| uint32_t | enumerate (const format &format=any) const |
| | enumerate typified pins
|
| void | exception (const dx::exception &exception, bool filtered=false) const noexcept override |
| | notification exception handler
|
| struct stream * | find (const decltype(stream::target.idx())&target) |
| struct stream * | find (const format &format=any, enum direction::direction direction=direction::any) |
| struct stream * | find (const target_t &target) |
| struct stream * | find (uint32_t &pin, const format &format=any, enum direction::direction direction=direction::any) |
| | finds and returns the stream description and pin idx into this stream
|
| virtual bool | hw_clock () const noexcept |
| virtual void | hw_clock (abstract::event *hw_clock, uint32_t iosize) |
| bool | operator== (const desc &desc) const |
| virtual device & | operator>> (std::ostream &) const |
| group_t & | operator[] (const typename desc::stream::desc &stream) |
| | the stream's group, created on first use
|
| group_t & | operator[] (const typename desc::stream::desc &stream) |
| | the stream's group, created on first use
|
| virtual void | sleep () |
| | notify system will sleep stub
|
| virtual std::pair< source_t &, bool > | source (const struct desc::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
|
| virtual std::pair< source_t &, bool > | source (const struct desc::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
|
| uint32_t | sync_reference (struct stream *sync_reference) |
| struct stream * | sync_reference (uint32_t sync_reference) |
| 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
|
| void | wake () override |
|
| dx::stream::bus::bus | bus {} |
| | the bus this device hangs on
|
| dx::shared::guard< std::map< abstract::event *, dx::stream::clock::consumer > > | clock |
| | event -> its own iosize and sample counter
|
| uint32_t | clocks {} |
| | number of independent clocks [currenlty only single clock support]
|
| promoted< uint32_t >::preference< decltype(dx::stream::control< dx::device< std::string, preference > >::preference)> | clocksource |
| bool | dflt {} |
| | can be selected as default (OS audio) device
|
| dx::driver< decltype(id), preference > & | driver |
| bool | editable {} |
| | can be edited
|
| std::map< decltype(desc::stream::group), group_t > | group |
| bool | hidden {} |
| | hide device
|
| 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 > >::preference)> | icon |
| const std::string | id |
| promoted< uint32_t >::preference< decltype(dx::stream::control< dx::device< std::string, preference > >::preference)> | iosize |
| uint32_t | iosize |
| | staging value for registration paths without their own iosize argument (macOS CF property bridge)
|
| std::atomic< bool > | launched |
| struct dx::stream::desc::name_id | model |
| dx::stream::device::monitor | monitor |
| bool | persistence {} |
| | device has capability to store persistent settings (i.e. sample rate; clock source; etc.)
|
| preference | preference |
| std::string | puid |
| | persistent UID - system unique - could change with location
|
| std::string | puuid |
| | persistent universal UID - universally unique ID (i.e. serial number)
|
| promoted< uint32_t >::preference< decltype(dx::stream::control< dx::device< std::string, preference > >::preference)> | samplerate |
| std::map< decltype(desc::stream::target.idx()), source_t > | sources |
| promoted< uint32_t > | start |
| direction::direction | start_stop_order = direction::any |
| promoted< bool > | started |
| struct dx::stream::desc::stream | stream [max_streams] |
| uint32_t | streams {} |
| | number of streams
|
| promoted< structdesc_t::stream * >::template preference< decltype(dx::stream::control< dx::device< std::string, preference > >::preference), uint32_t > | sync_reference |
| struct dx::stream::desc::name_id | vendor |
| dx::stream::device::monitor | version |
template<typename
desc_t = desc, typename preference_t = preference, template< typename ... > typename stream_t = stream>
class dx::midi::services::device< desc_t, preference_t, stream_t >
Windows MIDI Services client device.
template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
finds and returns the stream description and pin idx into this stream
- Returns
- stream description of indexed pin, pin idx will be altered on return!
- Parameters
-
| pin | in: global pin index, out: pin index into returned stream description |
| format | search stream format filter |
| direction | search stream direction filter |
template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
| uint32_t dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::clocks {} |
|
inherited |
number of independent clocks [currenlty only single clock support]
template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
| bool dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::dflt {} |
|
inherited |
can be selected as default (OS audio) device
template<typename target_t = void_struct, int max_streams = 2, int max_pins = 1, int max_clock_settings = 1, int max_clocks = 1, int max_configurations = 1, int max_sources = 1>
| bool dx::stream::desc< target_t, max_streams, max_pins, max_clock_settings, max_clocks, max_configurations, max_sources >::persistence {} |
|
inherited |
device has capability to store persistent settings (i.e. sample rate; clock source; etc.)