NOW LOADING

MidiVirtualDevice


Represents a virtual device in app-to-app MIDI
Namespace Microsoft.Windows.Devices.Midi2.Endpoints.Virtual
Type Name MidiVirtualDevice
Type WinRT Runtime Class
Implements IMidiEndpointMessageProcessingPlugin 
IDL MidiVirtualDevice.idl
Library Microsoft.Windows.Devices.Midi2.dll

This is the class that a virtual device application uses as its interface to the virtual device it has defined. Use the MidiVirtualDeviceManager to construct an instance of this type.

Properties

Property Description
DeviceEndpointDeviceId The EndpointDeviceId to be used by the app creating the virtual device
AssociationId The id used to associate the client and device endpoints
FunctionBlocks Current list of function blocks for this device.
SuppressHandledMessages True if the protocol messages handled by this class should be filtered out of the incoming message stream

Functions

Function Description
UpdateFunctionBlock Update the properties of a single function block. The number of actual function blocks cannot change after creation (per the UMP specification) but blocks may be marked as active or inactive. Changes here will result in the MIDI 2.0 function block notification messages being sent out.
UpdateEndpointName Update the endpoint name, and send out the appropriate endpoint name notification messages.

Events

Event Description
StreamConfigRequestReceived (device, args) Raised when this device receives a Stream Configuration Request UMP message. The virtual device application should respond per the UMP MIDI 2.0 protocol negotiation specification.

Examples

C++ Sample C# Sample

Didn't find what you were looking for?

Windows MIDI Services is an open source project with all source available on GitHub. We have a great community on Discord as well. Between GitHub and Discord, you should find the information you are looking for.