// WARNING: Please don't edit this file. It was generated by C++/WinRT v2.0.240405.15 #pragma once #ifndef WINRT_Windows_Devices_Midi_0_H #define WINRT_Windows_Devices_Midi_0_H WINRT_EXPORT namespace winrt::Windows::Devices::Enumeration { struct DeviceInformation; } WINRT_EXPORT namespace winrt::Windows::Foundation { struct EventRegistrationToken; template struct WINRT_IMPL_EMPTY_BASES TypedEventHandler; } WINRT_EXPORT namespace winrt::Windows::Storage::Streams { struct IBuffer; } WINRT_EXPORT namespace winrt::Windows::Devices::Midi { enum class MidiMessageType : int32_t { None = 0, NoteOff = 128, NoteOn = 144, PolyphonicKeyPressure = 160, ControlChange = 176, ProgramChange = 192, ChannelPressure = 208, PitchBendChange = 224, SystemExclusive = 240, MidiTimeCode = 241, SongPositionPointer = 242, SongSelect = 243, TuneRequest = 246, EndSystemExclusive = 247, TimingClock = 248, Start = 250, Continue = 251, Stop = 252, ActiveSensing = 254, SystemReset = 255, }; struct IMidiChannelPressureMessage; struct IMidiChannelPressureMessageFactory; struct IMidiControlChangeMessage; struct IMidiControlChangeMessageFactory; struct IMidiInPort; struct IMidiInPortStatics; struct IMidiMessage; struct IMidiMessageReceivedEventArgs; struct IMidiNoteOffMessage; struct IMidiNoteOffMessageFactory; struct IMidiNoteOnMessage; struct IMidiNoteOnMessageFactory; struct IMidiOutPort; struct IMidiOutPortStatics; struct IMidiPitchBendChangeMessage; struct IMidiPitchBendChangeMessageFactory; struct IMidiPolyphonicKeyPressureMessage; struct IMidiPolyphonicKeyPressureMessageFactory; struct IMidiProgramChangeMessage; struct IMidiProgramChangeMessageFactory; struct IMidiSongPositionPointerMessage; struct IMidiSongPositionPointerMessageFactory; struct IMidiSongSelectMessage; struct IMidiSongSelectMessageFactory; struct IMidiSynthesizer; struct IMidiSynthesizerStatics; struct IMidiSystemExclusiveMessageFactory; struct IMidiTimeCodeMessage; struct IMidiTimeCodeMessageFactory; struct MidiActiveSensingMessage; struct MidiChannelPressureMessage; struct MidiContinueMessage; struct MidiControlChangeMessage; struct MidiInPort; struct MidiMessageReceivedEventArgs; struct MidiNoteOffMessage; struct MidiNoteOnMessage; struct MidiOutPort; struct MidiPitchBendChangeMessage; struct MidiPolyphonicKeyPressureMessage; struct MidiProgramChangeMessage; struct MidiSongPositionPointerMessage; struct MidiSongSelectMessage; struct MidiStartMessage; struct MidiStopMessage; struct MidiSynthesizer; struct MidiSystemExclusiveMessage; struct MidiSystemResetMessage; struct MidiTimeCodeMessage; struct MidiTimingClockMessage; struct MidiTuneRequestMessage; } namespace winrt::impl { template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = interface_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = class_category; }; template <> struct category{ using type = enum_category; }; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiActiveSensingMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiChannelPressureMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiContinueMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiControlChangeMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiInPort"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiMessageReceivedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiNoteOffMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiNoteOnMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiOutPort"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiPitchBendChangeMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiPolyphonicKeyPressureMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiProgramChangeMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiSongPositionPointerMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiSongSelectMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiStartMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiStopMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiSynthesizer"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiSystemExclusiveMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiSystemResetMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiTimeCodeMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiTimingClockMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiTuneRequestMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.MidiMessageType"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiChannelPressureMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiChannelPressureMessageFactory"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiControlChangeMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiControlChangeMessageFactory"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiInPort"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiInPortStatics"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiMessageReceivedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiNoteOffMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiNoteOffMessageFactory"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiNoteOnMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiNoteOnMessageFactory"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiOutPort"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiOutPortStatics"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiPitchBendChangeMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiPitchBendChangeMessageFactory"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiPolyphonicKeyPressureMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiPolyphonicKeyPressureMessageFactory"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiProgramChangeMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiProgramChangeMessageFactory"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiSongPositionPointerMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiSongPositionPointerMessageFactory"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiSongSelectMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiSongSelectMessageFactory"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiSynthesizer"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiSynthesizerStatics"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiSystemExclusiveMessageFactory"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiTimeCodeMessage"; template <> inline constexpr auto& name_v = L"Windows.Devices.Midi.IMidiTimeCodeMessageFactory"; template <> inline constexpr guid guid_v{ 0xBE1FA860,0x62B4,0x4D52,{ 0xA3,0x7E,0x92,0xE5,0x4D,0x35,0xB9,0x09 } }; // BE1FA860-62B4-4D52-A37E-92E54D35B909 template <> inline constexpr guid guid_v{ 0x6218ED2F,0x2284,0x412A,{ 0x94,0xCF,0x10,0xFB,0x04,0x84,0x2C,0x6C } }; // 6218ED2F-2284-412A-94CF-10FB04842C6C template <> inline constexpr guid guid_v{ 0xB7E15F83,0x780D,0x405F,{ 0xB7,0x81,0x3E,0x15,0x98,0xC9,0x7F,0x40 } }; // B7E15F83-780D-405F-B781-3E1598C97F40 template <> inline constexpr guid guid_v{ 0x2AB14321,0x956C,0x46AD,{ 0x97,0x52,0xF8,0x7F,0x55,0x05,0x2F,0xE3 } }; // 2AB14321-956C-46AD-9752-F87F55052FE3 template <> inline constexpr guid guid_v{ 0xD5C1D9DB,0x971A,0x4EAF,{ 0xA2,0x3D,0xEA,0x19,0xFE,0x60,0x7F,0xF9 } }; // D5C1D9DB-971A-4EAF-A23D-EA19FE607FF9 template <> inline constexpr guid guid_v{ 0x44C439DC,0x67FF,0x4A6E,{ 0x8B,0xAC,0xFD,0xB6,0x61,0x0C,0xF2,0x96 } }; // 44C439DC-67FF-4A6E-8BAC-FDB6610CF296 template <> inline constexpr guid guid_v{ 0x79767945,0x1094,0x4283,{ 0x9B,0xE0,0x28,0x9F,0xC0,0xEE,0x83,0x34 } }; // 79767945-1094-4283-9BE0-289FC0EE8334 template <> inline constexpr guid guid_v{ 0x76566E56,0xF328,0x4B51,{ 0x90,0x7D,0xB3,0xA8,0xCE,0x96,0xBF,0x80 } }; // 76566E56-F328-4B51-907D-B3A8CE96BF80 template <> inline constexpr guid guid_v{ 0x16FD8AF4,0x198E,0x4D8F,{ 0xA6,0x54,0xD3,0x05,0xA2,0x93,0x54,0x8F } }; // 16FD8AF4-198E-4D8F-A654-D305A293548F template <> inline constexpr guid guid_v{ 0xA6B240E0,0xA749,0x425F,{ 0x8A,0xF4,0xA4,0xD9,0x79,0xCC,0x15,0xB5 } }; // A6B240E0-A749-425F-8AF4-A4D979CC15B5 template <> inline constexpr guid guid_v{ 0xE0224AF5,0x6181,0x46DD,{ 0xAF,0xA2,0x41,0x00,0x04,0xC0,0x57,0xAA } }; // E0224AF5-6181-46DD-AFA2-410004C057AA template <> inline constexpr guid guid_v{ 0x9B4280A0,0x59C1,0x420E,{ 0xB5,0x17,0x15,0xA1,0x0A,0xA9,0x60,0x6B } }; // 9B4280A0-59C1-420E-B517-15A10AA9606B template <> inline constexpr guid guid_v{ 0x931D6D9F,0x57A2,0x4A3A,{ 0xAD,0xB8,0x46,0x40,0x88,0x6F,0x66,0x93 } }; // 931D6D9F-57A2-4A3A-ADB8-4640886F6693 template <> inline constexpr guid guid_v{ 0x065CC3E9,0x0F88,0x448B,{ 0x9B,0x64,0xA9,0x58,0x26,0xC6,0x5B,0x8F } }; // 065CC3E9-0F88-448B-9B64-A95826C65B8F template <> inline constexpr guid guid_v{ 0x29DF4CB1,0x2E9F,0x4FAF,{ 0x8C,0x2B,0x9C,0xB8,0x2A,0x90,0x79,0xCA } }; // 29DF4CB1-2E9F-4FAF-8C2B-9CB82A9079CA template <> inline constexpr guid guid_v{ 0xF5EEDF55,0xCFC8,0x4926,{ 0xB3,0x0E,0xA3,0x62,0x23,0x93,0x30,0x6C } }; // F5EEDF55-CFC8-4926-B30E-A3622393306C template <> inline constexpr guid guid_v{ 0x1F7337FE,0xACE8,0x48A0,{ 0x86,0x8E,0x7C,0xDB,0xF2,0x0F,0x04,0xD6 } }; // 1F7337FE-ACE8-48A0-868E-7CDBF20F04D6 template <> inline constexpr guid guid_v{ 0xE98F483E,0xC4B3,0x4DD2,{ 0x91,0x7C,0xE3,0x49,0x81,0x5A,0x1B,0x3B } }; // E98F483E-C4B3-4DD2-917C-E349815A1B3B template <> inline constexpr guid guid_v{ 0x9CBB3C78,0x7A3E,0x4327,{ 0xAA,0x98,0x20,0xB8,0xE4,0x48,0x5A,0xF8 } }; // 9CBB3C78-7A3E-4327-AA98-20B8E4485AF8 template <> inline constexpr guid guid_v{ 0xD6B04387,0x524B,0x4104,{ 0x9C,0x99,0x65,0x72,0xBF,0xD2,0xE2,0x61 } }; // D6B04387-524B-4104-9C99-6572BFD2E261 template <> inline constexpr guid guid_v{ 0x4CA50C56,0xEC5E,0x4AE4,{ 0xA1,0x15,0x88,0xDC,0x57,0xCC,0x2B,0x79 } }; // 4CA50C56-EC5E-4AE4-A115-88DC57CC2B79 template <> inline constexpr guid guid_v{ 0x9C00E996,0xF10B,0x4FEA,{ 0xB3,0x95,0xF5,0xD6,0xCF,0x80,0xF6,0x4E } }; // 9C00E996-F10B-4FEA-B395-F5D6CF80F64E template <> inline constexpr guid guid_v{ 0x49F0F27F,0x6D83,0x4741,{ 0xA5,0xBF,0x46,0x29,0xF6,0xBE,0x97,0x4F } }; // 49F0F27F-6D83-4741-A5BF-4629F6BE974F template <> inline constexpr guid guid_v{ 0x848878E4,0x8748,0x4129,{ 0xA6,0x6C,0xA0,0x54,0x93,0xF7,0x5D,0xAA } }; // 848878E4-8748-4129-A66C-A05493F75DAA template <> inline constexpr guid guid_v{ 0xF0DA155E,0xDB90,0x405F,{ 0xB8,0xAE,0x21,0xD2,0xE1,0x7F,0x2E,0x45 } }; // F0DA155E-DB90-405F-B8AE-21D2E17F2E45 template <> inline constexpr guid guid_v{ 0x4224EAA8,0x6629,0x4D6B,{ 0xAA,0x8F,0xD4,0x52,0x1A,0x5A,0x31,0xCE } }; // 4224EAA8-6629-4D6B-AA8F-D4521A5A31CE template <> inline constexpr guid guid_v{ 0x083DE222,0x3B74,0x4320,{ 0x9B,0x42,0x0C,0xA8,0x54,0x5F,0x8A,0x24 } }; // 083DE222-3B74-4320-9B42-0CA8545F8A24 template <> inline constexpr guid guid_v{ 0x0BF7087D,0xFA63,0x4A1C,{ 0x8D,0xEB,0xC0,0xE8,0x77,0x96,0xA6,0xD7 } }; // 0BF7087D-FA63-4A1C-8DEB-C0E87796A6D7 template <> inline constexpr guid guid_v{ 0xEB3099C5,0x771C,0x40DE,{ 0xB9,0x61,0x17,0x5A,0x74,0x89,0xA8,0x5E } }; // EB3099C5-771C-40DE-B961-175A7489A85E template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiChannelPressureMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiControlChangeMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiInPort; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiMessageReceivedEventArgs; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiNoteOffMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiNoteOnMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiOutPort; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiPitchBendChangeMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiPolyphonicKeyPressureMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiProgramChangeMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiSongPositionPointerMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiSongSelectMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiSynthesizer; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiTimeCodeMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiMessage; }; template <> struct default_interface{ using type = winrt::Windows::Devices::Midi::IMidiMessage; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Channel(uint8_t*) noexcept = 0; virtual int32_t __stdcall get_Pressure(uint8_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateMidiChannelPressureMessage(uint8_t, uint8_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Channel(uint8_t*) noexcept = 0; virtual int32_t __stdcall get_Controller(uint8_t*) noexcept = 0; virtual int32_t __stdcall get_ControlValue(uint8_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateMidiControlChangeMessage(uint8_t, uint8_t, uint8_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall add_MessageReceived(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_MessageReceived(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_DeviceId(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall FromIdAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall GetDeviceSelector(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Timestamp(int64_t*) noexcept = 0; virtual int32_t __stdcall get_RawData(void**) noexcept = 0; virtual int32_t __stdcall get_Type(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Message(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Channel(uint8_t*) noexcept = 0; virtual int32_t __stdcall get_Note(uint8_t*) noexcept = 0; virtual int32_t __stdcall get_Velocity(uint8_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateMidiNoteOffMessage(uint8_t, uint8_t, uint8_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Channel(uint8_t*) noexcept = 0; virtual int32_t __stdcall get_Note(uint8_t*) noexcept = 0; virtual int32_t __stdcall get_Velocity(uint8_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateMidiNoteOnMessage(uint8_t, uint8_t, uint8_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall SendMessage(void*) noexcept = 0; virtual int32_t __stdcall SendBuffer(void*) noexcept = 0; virtual int32_t __stdcall get_DeviceId(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall FromIdAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall GetDeviceSelector(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Channel(uint8_t*) noexcept = 0; virtual int32_t __stdcall get_Bend(uint16_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateMidiPitchBendChangeMessage(uint8_t, uint16_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Channel(uint8_t*) noexcept = 0; virtual int32_t __stdcall get_Note(uint8_t*) noexcept = 0; virtual int32_t __stdcall get_Pressure(uint8_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateMidiPolyphonicKeyPressureMessage(uint8_t, uint8_t, uint8_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Channel(uint8_t*) noexcept = 0; virtual int32_t __stdcall get_Program(uint8_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateMidiProgramChangeMessage(uint8_t, uint8_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Beats(uint16_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateMidiSongPositionPointerMessage(uint16_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Song(uint8_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateMidiSongSelectMessage(uint8_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_AudioDevice(void**) noexcept = 0; virtual int32_t __stdcall get_Volume(double*) noexcept = 0; virtual int32_t __stdcall put_Volume(double) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateAsync(void**) noexcept = 0; virtual int32_t __stdcall CreateFromAudioDeviceAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall IsSynthesizer(void*, bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateMidiSystemExclusiveMessage(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_FrameType(uint8_t*) noexcept = 0; virtual int32_t __stdcall get_Values(uint8_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateMidiTimeCodeMessage(uint8_t, uint8_t, void**) noexcept = 0; }; }; template struct consume_Windows_Devices_Midi_IMidiChannelPressureMessage { [[nodiscard]] auto Channel() const; [[nodiscard]] auto Pressure() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiChannelPressureMessage; }; template struct consume_Windows_Devices_Midi_IMidiChannelPressureMessageFactory { auto CreateMidiChannelPressureMessage(uint8_t channel, uint8_t pressure) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiChannelPressureMessageFactory; }; template struct consume_Windows_Devices_Midi_IMidiControlChangeMessage { [[nodiscard]] auto Channel() const; [[nodiscard]] auto Controller() const; [[nodiscard]] auto ControlValue() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiControlChangeMessage; }; template struct consume_Windows_Devices_Midi_IMidiControlChangeMessageFactory { auto CreateMidiControlChangeMessage(uint8_t channel, uint8_t controller, uint8_t controlValue) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiControlChangeMessageFactory; }; template struct consume_Windows_Devices_Midi_IMidiInPort { auto MessageReceived(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using MessageReceived_revoker = impl::event_revoker::remove_MessageReceived>; [[nodiscard]] auto MessageReceived(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto MessageReceived(winrt::event_token const& token) const noexcept; [[nodiscard]] auto DeviceId() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiInPort; }; template struct consume_Windows_Devices_Midi_IMidiInPortStatics { auto FromIdAsync(param::hstring const& deviceId) const; auto GetDeviceSelector() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiInPortStatics; }; template struct consume_Windows_Devices_Midi_IMidiMessage { [[nodiscard]] auto Timestamp() const; [[nodiscard]] auto RawData() const; [[nodiscard]] auto Type() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiMessage; }; template struct consume_Windows_Devices_Midi_IMidiMessageReceivedEventArgs { [[nodiscard]] auto Message() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiMessageReceivedEventArgs; }; template struct consume_Windows_Devices_Midi_IMidiNoteOffMessage { [[nodiscard]] auto Channel() const; [[nodiscard]] auto Note() const; [[nodiscard]] auto Velocity() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiNoteOffMessage; }; template struct consume_Windows_Devices_Midi_IMidiNoteOffMessageFactory { auto CreateMidiNoteOffMessage(uint8_t channel, uint8_t note, uint8_t velocity) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiNoteOffMessageFactory; }; template struct consume_Windows_Devices_Midi_IMidiNoteOnMessage { [[nodiscard]] auto Channel() const; [[nodiscard]] auto Note() const; [[nodiscard]] auto Velocity() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiNoteOnMessage; }; template struct consume_Windows_Devices_Midi_IMidiNoteOnMessageFactory { auto CreateMidiNoteOnMessage(uint8_t channel, uint8_t note, uint8_t velocity) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiNoteOnMessageFactory; }; template struct consume_Windows_Devices_Midi_IMidiOutPort { auto SendMessage(winrt::Windows::Devices::Midi::IMidiMessage const& midiMessage) const; auto SendBuffer(winrt::Windows::Storage::Streams::IBuffer const& midiData) const; [[nodiscard]] auto DeviceId() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiOutPort; }; template struct consume_Windows_Devices_Midi_IMidiOutPortStatics { auto FromIdAsync(param::hstring const& deviceId) const; auto GetDeviceSelector() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiOutPortStatics; }; template struct consume_Windows_Devices_Midi_IMidiPitchBendChangeMessage { [[nodiscard]] auto Channel() const; [[nodiscard]] auto Bend() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiPitchBendChangeMessage; }; template struct consume_Windows_Devices_Midi_IMidiPitchBendChangeMessageFactory { auto CreateMidiPitchBendChangeMessage(uint8_t channel, uint16_t bend) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiPitchBendChangeMessageFactory; }; template struct consume_Windows_Devices_Midi_IMidiPolyphonicKeyPressureMessage { [[nodiscard]] auto Channel() const; [[nodiscard]] auto Note() const; [[nodiscard]] auto Pressure() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiPolyphonicKeyPressureMessage; }; template struct consume_Windows_Devices_Midi_IMidiPolyphonicKeyPressureMessageFactory { auto CreateMidiPolyphonicKeyPressureMessage(uint8_t channel, uint8_t note, uint8_t pressure) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiPolyphonicKeyPressureMessageFactory; }; template struct consume_Windows_Devices_Midi_IMidiProgramChangeMessage { [[nodiscard]] auto Channel() const; [[nodiscard]] auto Program() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiProgramChangeMessage; }; template struct consume_Windows_Devices_Midi_IMidiProgramChangeMessageFactory { auto CreateMidiProgramChangeMessage(uint8_t channel, uint8_t program) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiProgramChangeMessageFactory; }; template struct consume_Windows_Devices_Midi_IMidiSongPositionPointerMessage { [[nodiscard]] auto Beats() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiSongPositionPointerMessage; }; template struct consume_Windows_Devices_Midi_IMidiSongPositionPointerMessageFactory { auto CreateMidiSongPositionPointerMessage(uint16_t beats) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiSongPositionPointerMessageFactory; }; template struct consume_Windows_Devices_Midi_IMidiSongSelectMessage { [[nodiscard]] auto Song() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiSongSelectMessage; }; template struct consume_Windows_Devices_Midi_IMidiSongSelectMessageFactory { auto CreateMidiSongSelectMessage(uint8_t song) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiSongSelectMessageFactory; }; template struct consume_Windows_Devices_Midi_IMidiSynthesizer { [[nodiscard]] auto AudioDevice() const; [[nodiscard]] auto Volume() const; auto Volume(double value) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiSynthesizer; }; template struct consume_Windows_Devices_Midi_IMidiSynthesizerStatics { auto CreateAsync() const; auto CreateAsync(winrt::Windows::Devices::Enumeration::DeviceInformation const& audioDevice) const; auto IsSynthesizer(winrt::Windows::Devices::Enumeration::DeviceInformation const& midiDevice) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiSynthesizerStatics; }; template struct consume_Windows_Devices_Midi_IMidiSystemExclusiveMessageFactory { auto CreateMidiSystemExclusiveMessage(winrt::Windows::Storage::Streams::IBuffer const& rawData) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiSystemExclusiveMessageFactory; }; template struct consume_Windows_Devices_Midi_IMidiTimeCodeMessage { [[nodiscard]] auto FrameType() const; [[nodiscard]] auto Values() const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiTimeCodeMessage; }; template struct consume_Windows_Devices_Midi_IMidiTimeCodeMessageFactory { auto CreateMidiTimeCodeMessage(uint8_t frameType, uint8_t values) const; }; template <> struct consume { template using type = consume_Windows_Devices_Midi_IMidiTimeCodeMessageFactory; }; } #endif