Windows.Devices.Midi2.CapabilityInquiry
MIDI Capability Inquiry is how a device tells you what it is, what its channels are set to, and what patches it has, without your application needing to know anything about that make of device. A patch browser in a sequencer is built on it.
Most applications want MidiCapabilityInquirySession. It owns an identifier, numbers its own requests, puts replies that arrive in pieces back together, pages through long lists, and gives up on a device that isn’t going to answer. That leaves your code with just the question you want to ask.
An application that wants to act as a device instead uses MidiVirtualDevice.CapabilityInquiry, a MidiCapabilityInquiryDeviceResponder. Give it the lists you want to publish, and it answers for you.
Underneath both of those are MidiCapabilityInquiryMessage and MidiCapabilityInquiryMessageBuilder, which read and write single messages. Use them for anything the other two types don’t cover.
Everything here is sent as UMP. There’s no MIDI 1.0 byte stream version.
| Type | Description |
|---|---|
MidiCapabilityInquirySession |
Asks capability inquiry questions over an endpoint connection and waits for the answers |
MidiCapabilityInquiryDeviceResponder |
Answers capability inquiry for a virtual device |
MidiCapabilityInquiryResponder |
A device that answered Discovery |
MidiPropertyExchangeResponse |
The answer to a property exchange request |
MidiProfileInquiryResponse |
What a responder said about the profiles at one address |
MidiCapabilityInquiryMessageReceivedEventArgs |
A message that arrived without being asked for |
| Type | Description |
|---|---|
MidiCapabilityInquiryMessage |
A message that arrived, decoded |
MidiCapabilityInquiryMessageBuilder |
Builds messages as the UMP packets that carry them |
MidiCapabilityInquiryMessageType |
Which kind of message a message is |
MidiCapabilityInquiryCategories |
What a device says it can do |
MidiCapabilityInquiryStatus |
How a request ended |
MidiUniqueId |
The identifier a device answers to, for as long as it’s powered on |
MidiProfileId |
The five-byte identifier of a profile |
| Type | Description |
|---|---|
MidiDeviceInfo |
What a device says about itself |
MidiResourceList |
Everything a device offers, and what you can do with each one |
MidiResourceListEntry |
One entry in that list |
MidiChannelList |
What a device says about each of its channels |
MidiChannelListEntry |
One entry in that list |
MidiProgramList |
The programs a device offers |
MidiProgramListEntry |
One entry in that list |
MidiResourceLink |
A pointer from one resource to another |
Click or tap the type name to view more details.
| Type | Description |
|---|---|
| MidiCapabilityInquiryCategories | What a device says it can do, declared once in its Discovery message |
| MidiCapabilityInquiryDeviceResponder | Answers capability inquiry for a virtual device |
| MidiCapabilityInquiryMessage | A capability inquiry message that arrived, decoded far enough to act on |
| MidiCapabilityInquiryMessageBuilder | Builds capability inquiry messages as the UMP packets that carry them |
| MidiCapabilityInquiryMessageReceivedEventArgs | A capability inquiry message that arrived without being asked for |
| MidiCapabilityInquiryMessageType | The sub-id 2 byte which says what a capability inquiry message is |
| MidiCapabilityInquiryResponder | A device that answered Discovery, described by what it said about itself |
| MidiCapabilityInquirySession | Asks capability inquiry questions over an endpoint connection and waits for the answers |
| MidiCapabilityInquiryStatus | How a capability inquiry request ended |
| MidiChannelList | What a device says about each of its channels, from its ChannelList resource |
| MidiChannelListEntry | One channel a device describes, from its ChannelList resource |
| MidiDeviceInfo | What a device says about itself, from its DeviceInfo resource |
| MidiProfileId | The five-byte identifier of a MIDI-CI profile |
| MidiProfileInquiryResponse | What a responder said about the profiles at one address |
| MidiProgramList | The programs a device offers, from its ProgramList resource |
| MidiProgramListEntry | One selectable program on a device, from its ProgramList resource |
| MidiPropertyExchangeResponse | The answer to a property exchange request, with all its pieces already put back together |
| MidiPropertySubscription | A standing request to be told when a resource on a device changes |
| MidiPropertySubscriptionUpdatedEventArgs | A device telling a subscriber that a resource it asked about has changed |
| MidiResourceLink | A pointer from one resource to another, as carried in a links array |
| MidiResourceList | Everything a device offers through property exchange, from its ResourceList resource |
| MidiResourceListEntry | One resource a device offers, and what you can do with it |
| MidiUniqueId | A MIDI-CI unique identifier (MUID) |
