| Namespace | Windows.Devices.Midi2.Transports.Loopback |
|---|---|
| Type Name | MidiLoopbackUpdateConfig |
| Type | WinRT Runtime Class |
| Implements | IMidiServiceTransportPluginConfig |
| IDL | MidiLoopbackUpdateConfig.idl |
Changes a loopback pair that already exists. Only the properties you set are changed. Everything else stays as it is.
Pass it to MidiLoopbackManager.UpdateLoopback to change the running pair. Pass it to MidiServiceTransportPluginConfigManager.SaveUpdate to change the saved pair.
| Constructor | Description |
|---|---|
MidiLoopbackUpdateConfig(associationId) |
Creates a configuration that changes the loopback pair with this association id |
| Property | Description |
|---|---|
AssociationId |
The GUID of the loopback pair to change |
EndpointAName |
The new name for the A side. An empty name is ignored, because every endpoint needs one |
EndpointADescription |
The new description for the A side. Set it to empty to remove the description |
EndpointAImageFileName |
The bare file name of a picture in the shared endpoint assets folder, not a path. Set it to empty to remove the picture |
EndpointBName |
The new name for the B side. An empty name is ignored |
EndpointBDescription |
The new description for the B side |
EndpointBImageFileName |
The picture for the B side |
IsMuted |
True to mute the pair, false to unmute it |
FeedbackProtection |
What the pair does if MIDI feeds back into it |
The unique ids and the UMP-only setting aren’t here, because they decide how the endpoints are built. To change one, remove the loopback and create it again.
UpdateLoopback stops at the first change that fails, and reports it. For example, a new name that another endpoint already uses is refused before anything else is changed.
Saving is refused with ErrorEntryNotSaved when the pair isn’t saved. That keeps half an entry out of the configuration file.
MidiLoopbackUpdateConfig update{ associationId };
update.EndpointBName(L"Sequencer Out");
update.EndpointBImageFileName(L"");
auto response = MidiLoopbackManager::UpdateLoopback(update);
if (response.Success())
{
MidiServiceTransportPluginConfigManager::SaveUpdate(update);
}
