dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::midi::services Namespace Reference

Windows MIDI Services: the MIDI service of Windows 11 (midisrv), its endpoints spoken to in Universal MIDI Packets through the App SDK (Windows.Devices.Midi2). More...

Classes

class  _device
 Windows MIDI Services client device: one UMP endpoint. More...
class  device
 Windows MIDI Services client device. More...
class  driver
 Windows MIDI Services client driver interface class. More...
class  stream
 a stream of a Windows MIDI Services endpoint: Universal MIDI Packets through the device's connection, an ump::circular ring on this side More...
struct  target
 a stream of an endpoint: the direction, the index in the device More...

Typedefs

typedef dx::stream::desc< target, 2, 1 > desc
typedef std::map< std::string, std::string > dictionary
 matching dictionary: verb -> case-insensitive substring; id -> the endpoint device id, name -> the endpoint's name, vendor -> the manufacturer, transport -> the transport code (KS, KSA, LOOP, VIRT, NET, BLE, DIAG), vid/pid -> the USB ids in hex. A driver's match is a vector of them: any dictionary whose entries all match takes the endpoint, an empty vector takes every endpoint

Functions

int32_t __stdcall activation (void *id, const ::winrt::guid &iid, void **factory) noexcept
 the activation: what Windows registers is taken from it, a class of the SDK it does not from the DLL in System32 - the developer's copy until the API is in-box, when this branch goes
bool available () noexcept
 whether the SDK stands on this machine: its MidiApi resolves
dx::stream::bus::bus bus (const std::string &transport) noexcept
 the dx::stream::bus an endpoint's transport stands for
 catch (...)
void install () noexcept
 installs the activation once, ahead of the first WinRT call

Detailed Description

Windows MIDI Services: the MIDI service of Windows 11 (midisrv), its endpoints spoken to in Universal MIDI Packets through the App SDK (Windows.Devices.Midi2).

The SDK is Windows' own: its classes are registered by Windows once the API is in-box (Windows 11 25H2), and activation() answers what Windows registers. Until then a developer's machine carries the package's DLL in System32 by hand, where activation() loads it for the classes Windows does not register - the one bridge, never a copy beside a binary - so a binary carrying the driver loads on a machine without the SDK and the driver says it is not installed there (available()).

Typedef Documentation

◆ desc

◆ dictionary

typedef std::map<std::string, std::string> dx::midi::services::dictionary

matching dictionary: verb -> case-insensitive substring; id -> the endpoint device id, name -> the endpoint's name, vendor -> the manufacturer, transport -> the transport code (KS, KSA, LOOP, VIRT, NET, BLE, DIAG), vid/pid -> the USB ids in hex. A driver's match is a vector of them: any dictionary whose entries all match takes the endpoint, an empty vector takes every endpoint

Function Documentation

◆ activation()

int32_t __stdcall dx::midi::services::activation ( void * id,
const ::winrt::guid & iid,
void ** factory )
inlinenoexcept

the activation: what Windows registers is taken from it, a class of the SDK it does not from the DLL in System32 - the developer's copy until the API is in-box, when this branch goes

Here is the call graph for this function:
Here is the caller graph for this function:

◆ available()

bool dx::midi::services::available ( )
inlinenoexcept

whether the SDK stands on this machine: its MidiApi resolves

Here is the call graph for this function:
Here is the caller graph for this function:

◆ bus()

dx::stream::bus::bus dx::midi::services::bus ( const std::string & transport)
inlinenoexcept

the dx::stream::bus an endpoint's transport stands for

Here is the caller graph for this function:

◆ catch()

dx::midi::services::catch ( ...)

◆ install()

void dx::midi::services::install ( )
inlinenoexcept

installs the activation once, ahead of the first WinRT call

Here is the call graph for this function:
Here is the caller graph for this function:

(c) copyright 2009 dynamic acoustics e.U. generated on

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.