Skip to content

Commit

Permalink
Merge pull request #277 from microsoft/pete-dev
Browse files Browse the repository at this point in the history
Message metadata processing updates
  • Loading branch information
Psychlist1972 authored Feb 14, 2024
2 parents 78e0db2 + cd807e2 commit 5dd0144
Show file tree
Hide file tree
Showing 43 changed files with 660 additions and 213 deletions.
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 5" ?>
<?define SetupVersionNumber="1.0.24044.2146" ?>
<?define SetupVersionNumber="1.0.24045.0225" ?>
</Include>
16 changes: 8 additions & 8 deletions samples/cpp-winrt/api-client-basics/api-client-basics.vcxproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="packages\Windows.Devices.Midi2.1.0.0-preview.3-0129\build\native\Windows.Devices.Midi2.props" Condition="Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0129\build\native\Windows.Devices.Midi2.props')" />
<Import Project="packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.props')" />
<Import Project="packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.props" Condition="Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.props')" />
<Import Project="packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props')" />
<PropertyGroup Label="Globals">
<CppWinRTOptimized>true</CppWinRTOptimized>
<CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge>
Expand Down Expand Up @@ -149,16 +149,16 @@
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.targets" Condition="Exists('packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.targets')" />
<Import Project="packages\Windows.Devices.Midi2.1.0.0-preview.3-0129\build\native\Windows.Devices.Midi2.targets" Condition="Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0129\build\native\Windows.Devices.Midi2.targets')" />
<Import Project="packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets" Condition="Exists('packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets')" />
<Import Project="packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.targets" Condition="Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.targets')" />
</ImportGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.props'))" />
<Error Condition="!Exists('packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Windows.CppWinRT.2.0.230706.1\build\native\Microsoft.Windows.CppWinRT.targets'))" />
<Error Condition="!Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0129\build\native\Windows.Devices.Midi2.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Windows.Devices.Midi2.1.0.0-preview.3-0129\build\native\Windows.Devices.Midi2.props'))" />
<Error Condition="!Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0129\build\native\Windows.Devices.Midi2.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Windows.Devices.Midi2.1.0.0-preview.3-0129\build\native\Windows.Devices.Midi2.targets'))" />
<Error Condition="!Exists('packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props'))" />
<Error Condition="!Exists('packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets'))" />
<Error Condition="!Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.props'))" />
<Error Condition="!Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.targets'))" />
</Target>
</Project>
4 changes: 2 additions & 2 deletions samples/cpp-winrt/api-client-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.230706.1" targetFramework="native" />
<package id="Windows.Devices.Midi2" version="1.0.0-preview.3-0129" targetFramework="native" />
<package id="Microsoft.Windows.CppWinRT" version="2.0.240111.5" targetFramework="native" />
<package id="Windows.Devices.Midi2" version="1.0.0-preview.3-0157" targetFramework="native" />
</packages>
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="packages\Windows.Devices.Midi2.1.0.0-preview.3-0156\build\native\Windows.Devices.Midi2.props" Condition="Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0156\build\native\Windows.Devices.Midi2.props')" />
<Import Project="packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.props" Condition="Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.props')" />
<Import Project="packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props')" />
<PropertyGroup Label="Globals">
<CppWinRTOptimized>true</CppWinRTOptimized>
Expand Down Expand Up @@ -112,15 +112,15 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets" Condition="Exists('packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets')" />
<Import Project="packages\Windows.Devices.Midi2.1.0.0-preview.3-0156\build\native\Windows.Devices.Midi2.targets" Condition="Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0156\build\native\Windows.Devices.Midi2.targets')" />
<Import Project="packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.targets" Condition="Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.targets')" />
</ImportGroup>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.props'))" />
<Error Condition="!Exists('packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Windows.CppWinRT.2.0.240111.5\build\native\Microsoft.Windows.CppWinRT.targets'))" />
<Error Condition="!Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0156\build\native\Windows.Devices.Midi2.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Windows.Devices.Midi2.1.0.0-preview.3-0156\build\native\Windows.Devices.Midi2.props'))" />
<Error Condition="!Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0156\build\native\Windows.Devices.Midi2.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Windows.Devices.Midi2.1.0.0-preview.3-0156\build\native\Windows.Devices.Midi2.targets'))" />
<Error Condition="!Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.props'))" />
<Error Condition="!Exists('packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Windows.Devices.Midi2.1.0.0-preview.3-0157\build\native\Windows.Devices.Midi2.targets'))" />
</Target>
</Project>
2 changes: 1 addition & 1 deletion samples/cpp-winrt/api-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.240111.5" targetFramework="native" />
<package id="Windows.Devices.Midi2" version="1.0.0-preview.3-0156" targetFramework="native" />
<package id="Windows.Devices.Midi2" version="1.0.0-preview.3-0157" targetFramework="native" />
</packages>
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.5.231202003-experimental1" />
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.26031-preview" />
<PackageReference Include="Windows.Devices.Midi2" Version="1.0.0-preview.3-0155" />
<PackageReference Include="Windows.Devices.Midi2" Version="1.0.0-preview.3-0158" />
<PackageReference Include="WinUIEx" Version="2.3.3" />
<Manifest Include="$(ApplicationManifest)" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,7 @@
<ItemGroup>
<ClCompile Include="dllmain.cpp" />
<ClCompile Include="Midi2.BluetoothMidiAbstraction.cpp" />
<ClCompile Include="Midi2.BluetoothMidiConfigurationManager.cpp" />
<ClCompile Include="Midi2.BluetoothMidiEndpointManager.cpp" />
<ClCompile Include="Midi2.BluetoothMidiBidi.cpp" />
<ClCompile Include="MidiEndpointTable.cpp" />
Expand All @@ -293,6 +294,7 @@
<ClInclude Include="abstraction_defs.h" />
<ClInclude Include="dllmain.h" />
<ClInclude Include="Midi2.BluetoothMidiAbstraction.h" />
<ClInclude Include="Midi2.BluetoothMidiConfigurationManager.h" />
<ClInclude Include="Midi2.BluetoothMidiEndpointManager.h" />
<ClInclude Include="Midi2.BluetoothMidiBidi.h" />
<ClInclude Include="MidiEndpointTable.h" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
<ClCompile Include="Midi2.BluetoothMidiBidi.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="Midi2.BluetoothMidiConfigurationManager.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Midl Include="Midi2BluetoothMidiAbstraction.idl">
Expand Down Expand Up @@ -73,6 +76,9 @@
<ClInclude Include="Midi2.BluetoothMidiBidi.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="Midi2.BluetoothMidiConfigurationManager.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Midi2.BluetoothMidiAbstraction.rc">
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License
// ============================================================================
// This is part of the Windows MIDI Services App API and should be used
// in your Windows application via an official binary distribution.
// Further information: https://github.com/microsoft/MIDI/
// ============================================================================

#pragma once

#include "pch.h"

_Use_decl_annotations_
HRESULT
CMidi2BluetoothMidiConfigurationManager::Initialize(
GUID AbstractionId,
IUnknown* MidiDeviceManager)
{
TraceLoggingWrite(
MidiBluetoothMidiAbstractionTelemetryProvider::Provider(),
__FUNCTION__,
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
TraceLoggingPointer(this, "this")
);

RETURN_HR_IF_NULL(E_INVALIDARG, MidiDeviceManager);
RETURN_IF_FAILED(MidiDeviceManager->QueryInterface(__uuidof(IMidiDeviceManagerInterface), (void**)&m_MidiDeviceManager));

m_abstractionId = AbstractionId;

return S_OK;
}

_Use_decl_annotations_
HRESULT
CMidi2BluetoothMidiConfigurationManager::UpdateConfiguration(
LPCWSTR ConfigurationJsonSection,
BOOL IsFromConfigurationFile,
BSTR* Response)
{
TraceLoggingWrite(
MidiBluetoothMidiAbstractionTelemetryProvider::Provider(),
__FUNCTION__,
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
TraceLoggingPointer(this, "this")
);


UNREFERENCED_PARAMETER(ConfigurationJsonSection);
UNREFERENCED_PARAMETER(IsFromConfigurationFile);
UNREFERENCED_PARAMETER(Response);

return E_FAIL;
}

_Use_decl_annotations_
HRESULT
CMidi2BluetoothMidiConfigurationManager::Cleanup()
{
TraceLoggingWrite(
MidiBluetoothMidiAbstractionTelemetryProvider::Provider(),
__FUNCTION__,
TraceLoggingLevel(WINEVENT_LEVEL_INFO),
TraceLoggingPointer(this, "this")
);


return S_OK;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License
// ============================================================================
// This is part of the Windows MIDI Services App API and should be used
// in your Windows application via an official binary distribution.
// Further information: https://github.com/microsoft/MIDI/
// ============================================================================

#pragma once


class CMidi2BluetoothMidiConfigurationManager :
public Microsoft::WRL::RuntimeClass<
Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::ClassicCom>,
IMidiAbstractionConfigurationManager>

{
public:
STDMETHOD(Initialize(_In_ GUID AbstractionId, _In_ IUnknown* MidiDeviceManager));
STDMETHOD(UpdateConfiguration(_In_ LPCWSTR ConfigurationJsonSection, _In_ BOOL IsFromConfigurationFile, _Out_ BSTR* Response));
STDMETHOD(Cleanup)();

private:
wil::com_ptr_nothrow<IMidiDeviceManagerInterface> m_MidiDeviceManager;

GUID m_abstractionId; // kept for convenience
};
2 changes: 1 addition & 1 deletion src/api/Abstraction/BleMidiAbstraction/abstraction_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
// TODO: Names should be moved to .rc for localization

#define TRANSPORT_PARENT_ID L"MIDIU_BLE1_TRANSPORT"
#define TRANSPORT_PARENT_DEVICE_NAME L"MIDI 1.0 Bluetooth Endpoints"
#define TRANSPORT_PARENT_DEVICE_NAME L"MIDI 1.0 Bluetooth Devices"


#define LOOPBACK_PARENT_ROOT L"HTREE\\ROOT\\0"
Expand Down
3 changes: 3 additions & 0 deletions src/api/Abstraction/BleMidiAbstraction/pch.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@ namespace json = ::winrt::Windows::Data::Json;

namespace internal = ::Windows::Devices::Midi2::Internal;

class CMidi2BluetoothMidiConfigurationManager;
class CMidi2BluetoothMidiEndpointManager;

#include "strsafe.h"

Expand All @@ -98,4 +100,5 @@ namespace internal = ::Windows::Devices::Midi2::Internal;
#include "Midi2.BluetoothMidiAbstraction.h"
#include "Midi2.BluetoothMidiBiDi.h"
#include "Midi2.BluetoothMidiEndpointManager.h"
#include "Midi2.BluetoothMidiConfigurationManager.h"

Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
// TODO: Names should be moved to .rc for localization

#define TRANSPORT_PARENT_ID L"MIDIU_LOOP_TRANSPORT"
#define TRANSPORT_PARENT_DEVICE_NAME L"MIDI 2.0 Loopback Devices"
#define TRANSPORT_PARENT_DEVICE_NAME L"MIDI 2.0 Loop Devices"
#define LOOPBACK_PARENT_ROOT L"HTREE\\ROOT\\0"


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
// TODO: Names should be moved to .rc for localization

#define TRANSPORT_PARENT_ID L"MIDIU_UDP_TRANSPORT"
#define TRANSPORT_PARENT_DEVICE_NAME L"Network MIDI 2.0 (UDP)"
#define TRANSPORT_PARENT_DEVICE_NAME L"MIDI 2.0 Network (UDP) Devices"


#define LOOPBACK_PARENT_ROOT L"HTREE\\ROOT\\0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>Windows.Devices.Midi2</id>
<version>1.0.0-preview.3-0156</version>
<version>1.0.0-preview.3-0158</version>
<authors>Microsoft Corporation</authors>
<description>Windows MIDI Services API. Minimum package necessary to use Windows MIDI Services from an app on a PC that has Windows MIDI Services installed.</description>
<license type="expression">MIT</license>
Expand Down
2 changes: 2 additions & 0 deletions src/api/Client/Midi2Client/IMidiUniversalPacket.idl
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,7 @@ namespace Windows.Devices.Midi2

UInt32 PeekFirstWord();

IVectorView<UInt32> GetAllWords();
UInt8 AppendAllWordsToVector(IVector<UInt32> targetVector);
};
}
54 changes: 52 additions & 2 deletions src/api/Client/Midi2Client/MidiEndpointConnection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -876,7 +876,7 @@ namespace winrt::Windows::Devices::Midi2::implementation

// TODO: Implement SendMessagesWordList

return midi2::MidiSendMessageResult::Succeeded;
return midi2::MidiSendMessageResult::Failed | midi2::MidiSendMessageResult::Other;
}


Expand All @@ -892,13 +892,63 @@ namespace winrt::Windows::Devices::Midi2::implementation

// TODO: Implement SendMessagesWordArray

return midi2::MidiSendMessageResult::Succeeded;
return midi2::MidiSendMessageResult::Failed | midi2::MidiSendMessageResult::Other;
}




_Use_decl_annotations_
midi2::MidiSendMessageResult MidiEndpointConnection::SendMessagePacketList(
collections::IVectorView<IMidiUniversalPacket> const& messages) noexcept
{
internal::LogInfo(__FUNCTION__, L"Sending message packet list");

try
{
if (!m_isOpen)
{
internal::LogGeneralError(__FUNCTION__, L"Endpoint is not open. Did you forget to call Open()?");

// return failure if we're not open
return midi2::MidiSendMessageResult::Failed | midi2::MidiSendMessageResult::EndpointConnectionClosedOrInvalid;
}

if (m_endpointAbstraction)
{
// right now, we just loop through and send messages. In the future,
// we may optimize this further without changing the API signature

for (auto const& ump : messages)
{
auto result = SendUmpInternal(m_endpointAbstraction, ump);

if (!MidiEndpointConnection::SendMessageSucceeded(result))
{
// if any fail, we return immediately.

return result;
}
}

return midi2::MidiSendMessageResult::Succeeded;
}
else
{
internal::LogGeneralError(__FUNCTION__, L"Endpoint is nullptr");

return midi2::MidiSendMessageResult::Failed | midi2::MidiSendMessageResult::EndpointConnectionClosedOrInvalid;
}
}
catch (winrt::hresult_error const& ex)
{
internal::LogHresultError(__FUNCTION__, L"hresult exception sending messages. Service may be unavailable", ex);


// todo: handle buffer full and similar messages
return midi2::MidiSendMessageResult::Failed | midi2::MidiSendMessageResult::Other;
}
}



Expand Down
4 changes: 4 additions & 0 deletions src/api/Client/Midi2Client/MidiEndpointConnection.h
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,10 @@ namespace winrt::Windows::Devices::Midi2::implementation
_In_ winrt::array_view<uint32_t const> words) noexcept;


midi2::MidiSendMessageResult SendMessagePacketList(
_In_ collections::IVectorView<IMidiUniversalPacket> const& messages) noexcept;


_Success_(return == true)
bool Open();

Expand Down
Loading

0 comments on commit 5dd0144

Please sign in to comment.