Skip to content

Commit

Permalink
Merge pull request #421 from microsoft/pete-dev
Browse files Browse the repository at this point in the history
Final DP7 updates
  • Loading branch information
Psychlist1972 authored Oct 31, 2024
2 parents 2b451d9 + 48a4009 commit 37c62cc
Show file tree
Hide file tree
Showing 43 changed files with 669 additions and 555 deletions.
Binary file not shown.
2 changes: 1 addition & 1 deletion build/staging/version/BundleInfo.wxi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Include>
<?define SetupVersionName="Developer Preview 7 Arm64" ?>
<?define SetupVersionNumber="1.0.1-preview.7.24301.1830" ?>
<?define SetupVersionNumber="1.0.1-preview.7.24305.1347" ?>
</Include>
2 changes: 1 addition & 1 deletion samples/cpp-winrt/basics/client-basics-cpp.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.Windows.CppWinRT.2.0.240405.15\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('..\packages\Microsoft.Windows.CppWinRT.2.0.240405.15\build\native\Microsoft.Windows.CppWinRT.props')" />
<PropertyGroup Label="Globals">
<WindowsMidiServicesSdkPackage>Microsoft.Windows.Devices.Midi2.1.0.1-preview.7.24301.1830</WindowsMidiServicesSdkPackage>
<WindowsMidiServicesSdkPackage>Microsoft.Windows.Devices.Midi2.1.0.1-preview.7.24305.1347</WindowsMidiServicesSdkPackage>
<CppWinRTOptimized>true</CppWinRTOptimized>
<CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge>
<CppWinRTGenerateWindowsMetadata>false</CppWinRTGenerateWindowsMetadata>
Expand Down
2 changes: 1 addition & 1 deletion samples/cpp-winrt/basics/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Windows.CppWinRT" version="2.0.240405.15" targetFramework="native" />
<package id="Microsoft.Windows.Devices.Midi2" version="1.0.1-preview.7.24301.1830" targetFramework="native" />
<package id="Microsoft.Windows.Devices.Midi2" version="1.0.1-preview.7.24305.1347" targetFramework="native" />
</packages>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.Windows.CppWinRT.2.0.240405.15\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('..\packages\Microsoft.Windows.CppWinRT.2.0.240405.15\build\native\Microsoft.Windows.CppWinRT.props')" />
<PropertyGroup Label="Globals">
<WindowsMidiServicesSdkPackage>Microsoft.Windows.Devices.Midi2.1.0.1-preview.7.24301.1830</WindowsMidiServicesSdkPackage>
<WindowsMidiServicesSdkPackage>Microsoft.Windows.Devices.Midi2.1.0.1-preview.7.24305.1347</WindowsMidiServicesSdkPackage>
<CppWinRTOptimized>true</CppWinRTOptimized>
<CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge>
<CppWinRTGenerateWindowsMetadata>true</CppWinRTGenerateWindowsMetadata>
Expand Down
2 changes: 1 addition & 1 deletion samples/cpp-winrt/loopback-endpoints/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Windows.CppWinRT" version="2.0.240405.15" targetFramework="native" />
<package id="Microsoft.Windows.Devices.Midi2" version="1.0.1-preview.7.24301.1830" targetFramework="native" />
<package id="Microsoft.Windows.Devices.Midi2" version="1.0.1-preview.7.24305.1347" targetFramework="native" />
</packages>
2 changes: 1 addition & 1 deletion samples/cpp-winrt/send-speed/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Windows.CppWinRT" version="2.0.240405.15" targetFramework="native" />
<package id="Microsoft.Windows.Devices.Midi2" version="1.0.1-preview.7.24301.1830" targetFramework="native" />
<package id="Microsoft.Windows.Devices.Midi2" version="1.0.1-preview.7.24305.1347" targetFramework="native" />
</packages>
2 changes: 1 addition & 1 deletion samples/cpp-winrt/send-speed/send-speed-cpp.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.Windows.CppWinRT.2.0.240405.15\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('..\packages\Microsoft.Windows.CppWinRT.2.0.240405.15\build\native\Microsoft.Windows.CppWinRT.props')" />
<PropertyGroup Label="Globals">
<WindowsMidiServicesSdkPackage>Microsoft.Windows.Devices.Midi2.1.0.1-preview.7.24301.1830</WindowsMidiServicesSdkPackage>
<WindowsMidiServicesSdkPackage>Microsoft.Windows.Devices.Midi2.1.0.1-preview.7.24305.1347</WindowsMidiServicesSdkPackage>
<CppWinRTOptimized>true</CppWinRTOptimized>
<CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge>
<CppWinRTGenerateWindowsMetadata>true</CppWinRTGenerateWindowsMetadata>
Expand Down
2 changes: 1 addition & 1 deletion samples/cpp-winrt/static-enum-endpoints/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Windows.CppWinRT" version="2.0.240405.15" targetFramework="native" />
<package id="Microsoft.Windows.Devices.Midi2" version="1.0.1-preview.7.24301.1830" targetFramework="native" />
<package id="Microsoft.Windows.Devices.Midi2" version="1.0.1-preview.7.24305.1347" targetFramework="native" />
</packages>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.Windows.CppWinRT.2.0.240405.15\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('..\packages\Microsoft.Windows.CppWinRT.2.0.240405.15\build\native\Microsoft.Windows.CppWinRT.props')" />
<PropertyGroup Label="Globals">
<WindowsMidiServicesSdkPackage>Microsoft.Windows.Devices.Midi2.1.0.1-preview.7.24301.1830</WindowsMidiServicesSdkPackage>
<WindowsMidiServicesSdkPackage>Microsoft.Windows.Devices.Midi2.1.0.1-preview.7.24305.1347</WindowsMidiServicesSdkPackage>
<CppWinRTOptimized>true</CppWinRTOptimized>
<CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge>
<CppWinRTGenerateWindowsMetadata>true</CppWinRTGenerateWindowsMetadata>
Expand Down
2 changes: 1 addition & 1 deletion samples/cpp-winrt/virtual-device-app-winui/packages.config
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Windows.CppWinRT" version="2.0.240405.15" targetFramework="native" />
<package id="Microsoft.Windows.Devices.Midi2" version="1.0.1-preview.7.24301.1830" targetFramework="native" />
<package id="Microsoft.Windows.Devices.Midi2" version="1.0.1-preview.7.24305.1347" targetFramework="native" />
<package id="Microsoft.Windows.ImplementationLibrary" version="1.0.220914.1" targetFramework="native" />
<package id="Microsoft.Windows.SDK.BuildTools" version="10.0.22621.756" targetFramework="native" />
<package id="Microsoft.WindowsAppSDK" version="1.5.240607001" targetFramework="native" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<Import Project="..\packages\Microsoft.Windows.CppWinRT.2.0.240405.15\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('..\packages\Microsoft.Windows.CppWinRT.2.0.240405.15\build\native\Microsoft.Windows.CppWinRT.props')" />
<Import Project="..\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.756\build\Microsoft.Windows.SDK.BuildTools.props" Condition="Exists('..\packages\Microsoft.Windows.SDK.BuildTools.10.0.22621.756\build\Microsoft.Windows.SDK.BuildTools.props')" />
<PropertyGroup Label="Globals">
<WindowsMidiServicesSdkPackage>Microsoft.Windows.Devices.Midi2.1.0.1-preview.7.24301.1830</WindowsMidiServicesSdkPackage>
<WindowsMidiServicesSdkPackage>Microsoft.Windows.Devices.Midi2.1.0.1-preview.7.24305.1347</WindowsMidiServicesSdkPackage>
<CppWinRTOptimized>true</CppWinRTOptimized>
<CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge>
<MinimalCoreWin>true</MinimalCoreWin>
Expand Down
2 changes: 1 addition & 1 deletion samples/cpp-winrt/watch-endpoints/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Windows.CppWinRT" version="2.0.240405.15" targetFramework="native" />
<package id="Microsoft.Windows.Devices.Midi2" version="1.0.1-preview.7.24301.1830" targetFramework="native" />
<package id="Microsoft.Windows.Devices.Midi2" version="1.0.1-preview.7.24305.1347" targetFramework="native" />
</packages>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.Windows.CppWinRT.2.0.240405.15\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('..\packages\Microsoft.Windows.CppWinRT.2.0.240405.15\build\native\Microsoft.Windows.CppWinRT.props')" />
<PropertyGroup Label="Globals">
<WindowsMidiServicesSdkPackage>Microsoft.Windows.Devices.Midi2.1.0.1-preview.7.24301.1830</WindowsMidiServicesSdkPackage>
<WindowsMidiServicesSdkPackage>Microsoft.Windows.Devices.Midi2.1.0.1-preview.7.24305.1347</WindowsMidiServicesSdkPackage>
<CppWinRTOptimized>true</CppWinRTOptimized>
<CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge>
<CppWinRTGenerateWindowsMetadata>true</CppWinRTGenerateWindowsMetadata>
Expand Down
57 changes: 48 additions & 9 deletions samples/csharp-net/virtual-device-app-winui/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -112,13 +112,20 @@ private bool StartVirtualDevice()
System.Diagnostics.Debug.WriteLine("StartVirtualDevice Creating virtual device");
_virtualDevice = MidiVirtualDeviceManager.CreateVirtualDevice(creationConfig);


// return if unable to create virtual device
if (_virtualDevice == null)
{
System.Diagnostics.Debug.WriteLine("StartVirtualDevice Unable to create virtual device");
return false;
}

// this is for debugging in the sample. Normally you'd have this set to true
// you want to set this before you open the "device" side connection or else you may
// miss the initial discovery messages
_virtualDevice.SuppressHandledMessages = false;


// create our device-side connection
System.Diagnostics.Debug.WriteLine("StartVirtualDevice Creating endpoint connection");
_connection = _session.CreateEndpointConnection(_virtualDevice.DeviceEndpointDeviceId);
Expand Down Expand Up @@ -164,8 +171,7 @@ private bool StartVirtualDevice()

private void OnMidiMessageReceived(IMidiMessageReceivedEventSource sender, MidiMessageReceivedEventArgs args)
{
System.Diagnostics.Debug.WriteLine("Message Received " + MidiMessageHelper.GetMessageDisplayNameFromFirstWord(
args.PeekFirstWord()));
System.Diagnostics.Debug.WriteLine($"- Received: {MidiMessageHelper.GetMessageDisplayNameFromFirstWord(args.PeekFirstWord())} / {args.GetMessagePacket().ToString()}");
}

private void OnStreamConfigurationRequestReceived(MidiVirtualDevice sender, MidiStreamConfigRequestReceivedEventArgs args)
Expand Down Expand Up @@ -200,15 +206,30 @@ MidiVirtualDeviceCreationConfig DefineDevice()
declaredEndpointInfo.ProductInstanceId = "PMB_APP2_3263827";
declaredEndpointInfo.SpecificationVersionMajor = 1; // see latest MIDI 2 UMP spec
declaredEndpointInfo.SpecificationVersionMinor = 1; // see latest MIDI 2 UMP spec
declaredEndpointInfo.SupportsMidi10Protocol = true;
declaredEndpointInfo.SupportsMidi10Protocol = false;
declaredEndpointInfo.SupportsMidi20Protocol = true;
declaredEndpointInfo.SupportsReceivingJitterReductionTimestamps = false;
declaredEndpointInfo.SupportsSendingJitterReductionTimestamps = false;

declaredEndpointInfo.HasStaticFunctionBlocks = true;

declaredEndpointInfo.DeclaredFunctionBlockCount = 3; // needs to match the number of function blocks in the collection


var declaredDeviceIdentity = new MidiDeclaredDeviceIdentity() ;
// todo: set any device identity values if you want. This is optional
// The SysEx id, if used, needs to be a valid one
var declaredDeviceIdentity = new MidiDeclaredDeviceIdentity() ;
declaredDeviceIdentity.DeviceFamilyMsb = 0x01;
declaredDeviceIdentity.DeviceFamilyLsb = 0x02;
declaredDeviceIdentity.DeviceFamilyModelNumberMsb = 0x03;
declaredDeviceIdentity.DeviceFamilyModelNumberLsb = 0x04;
declaredDeviceIdentity.SoftwareRevisionLevelByte1 = 0x05;
declaredDeviceIdentity.SoftwareRevisionLevelByte2 = 0x06;
declaredDeviceIdentity.SoftwareRevisionLevelByte3 = 0x07;
declaredDeviceIdentity.SoftwareRevisionLevelByte4 = 0x08;
declaredDeviceIdentity.SystemExclusiveIdByte1 = 0x09;
declaredDeviceIdentity.SystemExclusiveIdByte2 = 0x0A;
declaredDeviceIdentity.SystemExclusiveIdByte3 = 0x0B;


var userSuppliedInfo = new MidiEndpointUserSuppliedInfo() ;
userSuppliedInfo.Name = userSuppliedName; // for names, this will bubble to the top in priority
Expand All @@ -221,15 +242,19 @@ MidiVirtualDeviceCreationConfig DefineDevice()
transportSuppliedManufacturerName, // transport-supplied company name
declaredEndpointInfo, // for endpoint discovery
declaredDeviceIdentity, // for endpoint discovery
userSuppliedInfo

userSuppliedInfo
);

// if set to true, WinMM / WinRT MIDI 1.0 backwards-compat endpoints won't be created
// when that feature is available in the service
config.CreateOnlyUmpEndpoints = false;

// Function blocks. The MIDI 2 UMP specification covers the meanings
// of these values

// Note: the number of blocks needs to match the number declared for the endpoint
// and function blocks must start at 0 and go up from there, without any gaps

var block1 = new MidiFunctionBlock();
block1.Number = 0;
block1.Name = "Pads Output";
Expand All @@ -246,18 +271,32 @@ MidiVirtualDeviceCreationConfig DefineDevice()

var block2 = new MidiFunctionBlock();
block2.Number = 1;
block2.Name = "A Function Block";
block2.Name = "Second Function Block";
block2.IsActive = true;
block2.UIHint = MidiFunctionBlockUIHint.Sender;
block2.FirstGroupIndex = 1;
block2.GroupCount = 2;
block2.GroupCount = 4;
block2.Direction = MidiFunctionBlockDirection.Bidirectional;
block2.RepresentsMidi10Connection = MidiFunctionBlockRepresentsMidi10Connection.Not10;
block2.MaxSystemExclusive8Streams = 0;
block2.MidiCIMessageVersionFormat = 0;

config.FunctionBlocks.Add(block2);

var block3 = new MidiFunctionBlock();
block3.Number = 2;
block3.Name = "Third Function Block";
block3.IsActive = false; // function blocks can be marked as inactive.
block3.UIHint = MidiFunctionBlockUIHint.Receiver;
block3.FirstGroupIndex = 5;
block3.GroupCount = 1;
block3.Direction = MidiFunctionBlockDirection.BlockInput;
block3.RepresentsMidi10Connection = MidiFunctionBlockRepresentsMidi10Connection.Not10;
block3.MaxSystemExclusive8Streams = 0;
block3.MidiCIMessageVersionFormat = 0;

config.FunctionBlocks.Add(block3);

return config;
}

Expand Down
5 changes: 3 additions & 2 deletions src/api/Abstraction/KSAbstraction/Midi2.KSMidi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ CMidi2KSMidi::Initialize(
TraceLoggingString(__FUNCTION__, MIDI_TRACE_EVENT_LOCATION_FIELD),
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
TraceLoggingPointer(this, "this"),
TraceLoggingWideString(L"Enter", MIDI_TRACE_EVENT_MESSAGE_FIELD),
TraceLoggingWideString(device, MIDI_TRACE_EVENT_DEVICE_SWD_ID_FIELD),
TraceLoggingHexUInt32(creationParams->DataFormat, "MidiDataFormats"),
TraceLoggingHexUInt32(flow, "MidiFlow"),
TraceLoggingHexUInt32(*mmcssTaskId, "mmcssTaskId"),
TraceLoggingPointer(callback, "callback")
);

Expand Down Expand Up @@ -184,7 +184,8 @@ CMidi2KSMidi::Shutdown()
MIDI_TRACE_EVENT_INFO,
TraceLoggingString(__FUNCTION__, MIDI_TRACE_EVENT_LOCATION_FIELD),
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
TraceLoggingPointer(this, "this")
TraceLoggingPointer(this, "this"),
TraceLoggingWideString(L"Enter", MIDI_TRACE_EVENT_MESSAGE_FIELD)
);

if (m_MidiOutDevice)
Expand Down
14 changes: 9 additions & 5 deletions src/api/Abstraction/KSAbstraction/Midi2.KSMidiBidi.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ CMidi2KSMidiBiDi::Initialize(
DWORD * mmcssTaskId,
IMidiCallback * callback,
LONGLONG context,
GUID /* SessionId */
GUID SessionId
)
{
RETURN_HR_IF(E_INVALIDARG, nullptr == callback);
Expand All @@ -32,9 +32,12 @@ CMidi2KSMidiBiDi::Initialize(
TraceLoggingString(__FUNCTION__, MIDI_TRACE_EVENT_LOCATION_FIELD),
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
TraceLoggingPointer(this, "this"),
TraceLoggingWideString(device, "device"),
TraceLoggingHexUInt32(*mmcssTaskId, "mmcssTaskId")
);
TraceLoggingWideString(L"Enter", MIDI_TRACE_EVENT_MESSAGE_FIELD),
TraceLoggingWideString(device, MIDI_TRACE_EVENT_DEVICE_SWD_ID_FIELD),
TraceLoggingGuid(SessionId, "Session Id"),
TraceLoggingPointer(callback, "callback")
);


std::unique_ptr<CMidi2KSMidi> midiDevice(new (std::nothrow) CMidi2KSMidi());
RETURN_IF_NULL_ALLOC(midiDevice);
Expand All @@ -53,7 +56,8 @@ CMidi2KSMidiBiDi::Shutdown()
MIDI_TRACE_EVENT_INFO,
TraceLoggingString(__FUNCTION__, MIDI_TRACE_EVENT_LOCATION_FIELD),
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
TraceLoggingPointer(this, "this")
TraceLoggingPointer(this, "this"),
TraceLoggingWideString(L"Enter", MIDI_TRACE_EVENT_MESSAGE_FIELD)
);

if (m_MidiDevice)
Expand Down
10 changes: 6 additions & 4 deletions src/api/Abstraction/KSAbstraction/Midi2.KSMidiIn.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ CMidi2KSMidiIn::Initialize(
DWORD * mmcssTaskId,
IMidiCallback * callback,
LONGLONG context,
GUID /* SessionId */
GUID SessionId
)
{
RETURN_HR_IF(E_INVALIDARG, nullptr == callback);
Expand All @@ -32,10 +32,12 @@ CMidi2KSMidiIn::Initialize(
TraceLoggingString(__FUNCTION__, MIDI_TRACE_EVENT_LOCATION_FIELD),
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
TraceLoggingPointer(this, "this"),
TraceLoggingWideString(device, "device"),
TraceLoggingHexUInt32(*mmcssTaskId, "MmCss Id"),
TraceLoggingWideString(L"Enter", MIDI_TRACE_EVENT_MESSAGE_FIELD),
TraceLoggingWideString(device, MIDI_TRACE_EVENT_DEVICE_SWD_ID_FIELD),
TraceLoggingGuid(SessionId, "Session Id"),
TraceLoggingPointer(callback, "callback")
);
);


std::unique_ptr<CMidi2KSMidi> midiDevice(new (std::nothrow) CMidi2KSMidi());
RETURN_IF_NULL_ALLOC(midiDevice);
Expand Down
7 changes: 4 additions & 3 deletions src/api/Abstraction/KSAbstraction/Midi2.KSMidiOut.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ CMidi2KSMidiOut::Initialize(
LPCWSTR device,
PTRANSPORTCREATIONPARAMS creationParams,
DWORD * mmcssTaskId,
GUID /* SessionId */
GUID SessionId
)
{
RETURN_HR_IF(E_INVALIDARG, nullptr == device);
Expand All @@ -31,9 +31,10 @@ CMidi2KSMidiOut::Initialize(
TraceLoggingString(__FUNCTION__, MIDI_TRACE_EVENT_LOCATION_FIELD),
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
TraceLoggingPointer(this, "this"),
TraceLoggingWideString(L"Enter", MIDI_TRACE_EVENT_MESSAGE_FIELD),
TraceLoggingWideString(device, MIDI_TRACE_EVENT_DEVICE_SWD_ID_FIELD),
TraceLoggingHexUInt32(*mmcssTaskId, "MmCss Id")
);
TraceLoggingGuid(SessionId, "Session Id")
);

std::unique_ptr<CMidi2KSMidi> midiDevice(new (std::nothrow) CMidi2KSMidi());
RETURN_IF_NULL_ALLOC(midiDevice);
Expand Down
Loading

0 comments on commit 37c62cc

Please sign in to comment.