// C++/WinRT v2.0.250303.1 // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #ifndef WINRT_Windows_Media_Audio_0_H #define WINRT_Windows_Media_Audio_0_H WINRT_EXPORT namespace winrt::Windows::Devices::Enumeration { struct DeviceInformation; } WINRT_EXPORT namespace winrt::Windows::Foundation { struct EventRegistrationToken; struct HResult; struct IAsyncAction; struct IClosable; template struct WINRT_IMPL_EMPTY_BASES IReference; template struct WINRT_IMPL_EMPTY_BASES TypedEventHandler; } WINRT_EXPORT namespace winrt::Windows::Foundation::Numerics { } WINRT_EXPORT namespace winrt::Windows::Media { struct AudioFrame; enum class AudioProcessing : int32_t; enum class SoundLevel : int32_t; } WINRT_EXPORT namespace winrt::Windows::Media::Capture { enum class MediaCategory : int32_t; } WINRT_EXPORT namespace winrt::Windows::Media::Core { struct MediaSource; } WINRT_EXPORT namespace winrt::Windows::Media::Devices { enum class AudioDeviceRole : int32_t; } WINRT_EXPORT namespace winrt::Windows::Media::Effects { struct IAudioEffectDefinition; } WINRT_EXPORT namespace winrt::Windows::Media::MediaProperties { struct AudioEncodingProperties; struct MediaEncodingProfile; } WINRT_EXPORT namespace winrt::Windows::Media::Render { enum class AudioRenderCategory : int32_t; } WINRT_EXPORT namespace winrt::Windows::Storage { struct IStorageFile; struct StorageFile; } WINRT_EXPORT namespace winrt::Windows::Media::Audio { enum class AudioDeviceNodeCreationStatus : int32_t { Success = 0, DeviceNotAvailable = 1, FormatNotSupported = 2, UnknownFailure = 3, AccessDenied = 4, }; enum class AudioEffectsPackStatus : int32_t { NotEnabled = 0, Enabled = 1, NotSupported = 2, }; enum class AudioFileNodeCreationStatus : int32_t { Success = 0, FileNotFound = 1, InvalidFileType = 2, FormatNotSupported = 3, UnknownFailure = 4, }; enum class AudioGraphCreationStatus : int32_t { Success = 0, DeviceNotAvailable = 1, FormatNotSupported = 2, UnknownFailure = 3, }; enum class AudioGraphUnrecoverableError : int32_t { None = 0, AudioDeviceLost = 1, AudioSessionDisconnected = 2, UnknownFailure = 3, }; enum class AudioNodeEmitterDecayKind : int32_t { Natural = 0, Custom = 1, }; enum class AudioNodeEmitterSettings : uint32_t { None = 0, DisableDoppler = 0x1, }; enum class AudioNodeEmitterShapeKind : int32_t { Omnidirectional = 0, Cone = 1, }; enum class AudioPlaybackConnectionOpenResultStatus : int32_t { Success = 0, RequestTimedOut = 1, DeniedBySystem = 2, UnknownFailure = 3, }; enum class AudioPlaybackConnectionState : int32_t { Closed = 0, Opened = 1, }; enum class MediaSourceAudioInputNodeCreationStatus : int32_t { Success = 0, FormatNotSupported = 1, NetworkError = 2, UnknownFailure = 3, }; enum class MixedRealitySpatialAudioFormatPolicy : int32_t { UseMixedRealityDefaultSpatialAudioFormat = 0, UseDeviceConfigurationDefaultSpatialAudioFormat = 1, }; enum class QuantumSizeSelectionMode : int32_t { SystemDefault = 0, LowestLatency = 1, ClosestToDesired = 2, }; enum class SetDefaultSpatialAudioFormatStatus : int32_t { Succeeded = 0, AccessDenied = 1, LicenseExpired = 2, LicenseNotValidForAudioEndpoint = 3, NotSupportedOnAudioEndpoint = 4, UnknownError = 5, }; enum class SpatialAudioModel : int32_t { ObjectBased = 0, FoldDown = 1, }; struct IAudioDeviceInputNode; struct IAudioDeviceOutputNode; struct IAudioEffectsPackConfiguration; struct IAudioEffectsPackConfigurationStatics; struct IAudioFileInputNode; struct IAudioFileOutputNode; struct IAudioFrameCompletedEventArgs; struct IAudioFrameInputNode; struct IAudioFrameOutputNode; struct IAudioGraph; struct IAudioGraph2; struct IAudioGraph3; struct IAudioGraphConnection; struct IAudioGraphSettings; struct IAudioGraphSettings2; struct IAudioGraphSettingsFactory; struct IAudioGraphStatics; struct IAudioGraphUnrecoverableErrorOccurredEventArgs; struct IAudioInputNode; struct IAudioInputNode2; struct IAudioNode; struct IAudioNodeEmitter; struct IAudioNodeEmitter2; struct IAudioNodeEmitterConeProperties; struct IAudioNodeEmitterDecayModel; struct IAudioNodeEmitterDecayModelStatics; struct IAudioNodeEmitterFactory; struct IAudioNodeEmitterNaturalDecayModelProperties; struct IAudioNodeEmitterShape; struct IAudioNodeEmitterShapeStatics; struct IAudioNodeListener; struct IAudioNodeWithListener; struct IAudioPlaybackConnection; struct IAudioPlaybackConnectionOpenResult; struct IAudioPlaybackConnectionStatics; struct IAudioStateMonitor; struct IAudioStateMonitorStatics; struct ICreateAudioDeviceInputNodeResult; struct ICreateAudioDeviceInputNodeResult2; struct ICreateAudioDeviceOutputNodeResult; struct ICreateAudioDeviceOutputNodeResult2; struct ICreateAudioFileInputNodeResult; struct ICreateAudioFileInputNodeResult2; struct ICreateAudioFileOutputNodeResult; struct ICreateAudioFileOutputNodeResult2; struct ICreateAudioGraphResult; struct ICreateAudioGraphResult2; struct ICreateMediaSourceAudioInputNodeResult; struct ICreateMediaSourceAudioInputNodeResult2; struct IEchoEffectDefinition; struct IEchoEffectDefinitionFactory; struct IEqualizerBand; struct IEqualizerEffectDefinition; struct IEqualizerEffectDefinitionFactory; struct IFrameInputNodeQuantumStartedEventArgs; struct ILimiterEffectDefinition; struct ILimiterEffectDefinitionFactory; struct IMediaSourceAudioInputNode; struct IReverbEffectDefinition; struct IReverbEffectDefinitionFactory; struct ISetDefaultSpatialAudioFormatResult; struct ISpatialAudioDeviceConfiguration; struct ISpatialAudioDeviceConfigurationStatics; struct ISpatialAudioFormatConfiguration; struct ISpatialAudioFormatConfigurationStatics; struct ISpatialAudioFormatSubtypeStatics; struct ISpatialAudioFormatSubtypeStatics2; struct AudioDeviceInputNode; struct AudioDeviceOutputNode; struct AudioEffectsPackConfiguration; struct AudioFileInputNode; struct AudioFileOutputNode; struct AudioFrameCompletedEventArgs; struct AudioFrameInputNode; struct AudioFrameOutputNode; struct AudioGraph; struct AudioGraphBatchUpdater; struct AudioGraphConnection; struct AudioGraphSettings; struct AudioGraphUnrecoverableErrorOccurredEventArgs; struct AudioNodeEmitter; struct AudioNodeEmitterConeProperties; struct AudioNodeEmitterDecayModel; struct AudioNodeEmitterNaturalDecayModelProperties; struct AudioNodeEmitterShape; struct AudioNodeListener; struct AudioPlaybackConnection; struct AudioPlaybackConnectionOpenResult; struct AudioStateMonitor; struct AudioSubmixNode; struct CreateAudioDeviceInputNodeResult; struct CreateAudioDeviceOutputNodeResult; struct CreateAudioFileInputNodeResult; struct CreateAudioFileOutputNodeResult; struct CreateAudioGraphResult; struct CreateMediaSourceAudioInputNodeResult; struct EchoEffectDefinition; struct EqualizerBand; struct EqualizerEffectDefinition; struct FrameInputNodeQuantumStartedEventArgs; struct LimiterEffectDefinition; struct MediaSourceAudioInputNode; struct ReverbEffectDefinition; struct SetDefaultSpatialAudioFormatResult; struct SpatialAudioDeviceConfiguration; struct SpatialAudioFormatConfiguration; struct SpatialAudioFormatSubtype; } 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 = 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 = 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 = 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 <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> struct category{ using type = enum_category; }; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioDeviceInputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioDeviceOutputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioEffectsPackConfiguration"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioFileInputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioFileOutputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioFrameCompletedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioFrameInputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioFrameOutputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioGraph"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioGraphBatchUpdater"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioGraphConnection"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioGraphSettings"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioGraphUnrecoverableErrorOccurredEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioNodeEmitter"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioNodeEmitterConeProperties"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioNodeEmitterDecayModel"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioNodeEmitterNaturalDecayModelProperties"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioNodeEmitterShape"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioNodeListener"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioPlaybackConnection"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioPlaybackConnectionOpenResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioStateMonitor"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioSubmixNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.CreateAudioDeviceInputNodeResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.CreateAudioDeviceOutputNodeResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.CreateAudioFileInputNodeResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.CreateAudioFileOutputNodeResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.CreateAudioGraphResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.CreateMediaSourceAudioInputNodeResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.EchoEffectDefinition"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.EqualizerBand"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.EqualizerEffectDefinition"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.FrameInputNodeQuantumStartedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.LimiterEffectDefinition"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.MediaSourceAudioInputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ReverbEffectDefinition"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.SetDefaultSpatialAudioFormatResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.SpatialAudioDeviceConfiguration"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.SpatialAudioFormatConfiguration"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.SpatialAudioFormatSubtype"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioDeviceNodeCreationStatus"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioEffectsPackStatus"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioFileNodeCreationStatus"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioGraphCreationStatus"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioGraphUnrecoverableError"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioNodeEmitterDecayKind"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioNodeEmitterSettings"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioNodeEmitterShapeKind"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioPlaybackConnectionOpenResultStatus"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.AudioPlaybackConnectionState"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.MediaSourceAudioInputNodeCreationStatus"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.MixedRealitySpatialAudioFormatPolicy"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.QuantumSizeSelectionMode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.SetDefaultSpatialAudioFormatStatus"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.SpatialAudioModel"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioDeviceInputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioDeviceOutputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioEffectsPackConfiguration"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioEffectsPackConfigurationStatics"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioFileInputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioFileOutputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioFrameCompletedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioFrameInputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioFrameOutputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioGraph"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioGraph2"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioGraph3"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioGraphConnection"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioGraphSettings"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioGraphSettings2"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioGraphSettingsFactory"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioGraphStatics"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioGraphUnrecoverableErrorOccurredEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioInputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioInputNode2"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioNodeEmitter"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioNodeEmitter2"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioNodeEmitterConeProperties"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioNodeEmitterDecayModel"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioNodeEmitterDecayModelStatics"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioNodeEmitterFactory"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioNodeEmitterNaturalDecayModelProperties"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioNodeEmitterShape"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioNodeEmitterShapeStatics"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioNodeListener"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioNodeWithListener"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioPlaybackConnection"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioPlaybackConnectionOpenResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioPlaybackConnectionStatics"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioStateMonitor"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IAudioStateMonitorStatics"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ICreateAudioDeviceInputNodeResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ICreateAudioDeviceInputNodeResult2"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ICreateAudioDeviceOutputNodeResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ICreateAudioDeviceOutputNodeResult2"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ICreateAudioFileInputNodeResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ICreateAudioFileInputNodeResult2"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ICreateAudioFileOutputNodeResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ICreateAudioFileOutputNodeResult2"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ICreateAudioGraphResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ICreateAudioGraphResult2"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ICreateMediaSourceAudioInputNodeResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ICreateMediaSourceAudioInputNodeResult2"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IEchoEffectDefinition"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IEchoEffectDefinitionFactory"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IEqualizerBand"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IEqualizerEffectDefinition"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IEqualizerEffectDefinitionFactory"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IFrameInputNodeQuantumStartedEventArgs"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ILimiterEffectDefinition"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ILimiterEffectDefinitionFactory"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IMediaSourceAudioInputNode"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IReverbEffectDefinition"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.IReverbEffectDefinitionFactory"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ISetDefaultSpatialAudioFormatResult"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ISpatialAudioDeviceConfiguration"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ISpatialAudioDeviceConfigurationStatics"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ISpatialAudioFormatConfiguration"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ISpatialAudioFormatConfigurationStatics"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ISpatialAudioFormatSubtypeStatics"; template <> inline constexpr auto& name_v = L"Windows.Media.Audio.ISpatialAudioFormatSubtypeStatics2"; template <> inline constexpr guid guid_v{ 0xB01B6BE1,0x6F4E,0x49E2,{ 0xAC,0x01,0x55,0x9D,0x62,0xBE,0xB3,0xA9 } }; // B01B6BE1-6F4E-49E2-AC01-559D62BEB3A9 template <> inline constexpr guid guid_v{ 0x362EDBFF,0xFF1C,0x4434,{ 0x9E,0x0F,0xBD,0x2E,0xF5,0x22,0xAC,0x82 } }; // 362EDBFF-FF1C-4434-9E0F-BD2EF522AC82 template <> inline constexpr guid guid_v{ 0x71D7627D,0x70C1,0x536C,{ 0xA8,0xF8,0x6F,0x98,0x01,0x5A,0x7F,0x06 } }; // 71D7627D-70C1-536C-A8F8-6F98015A7F06 template <> inline constexpr guid guid_v{ 0x61C20413,0x530C,0x55FF,{ 0xBA,0x2B,0x8E,0x68,0xA9,0xB5,0x6A,0x04 } }; // 61C20413-530C-55FF-BA2B-8E68A9B56A04 template <> inline constexpr guid guid_v{ 0x905B67C8,0x6F65,0x4CD4,{ 0x88,0x90,0x46,0x94,0x84,0x3C,0x27,0x6D } }; // 905B67C8-6F65-4CD4-8890-4694843C276D template <> inline constexpr guid guid_v{ 0x50E01980,0x5166,0x4093,{ 0x80,0xF8,0xAD,0xA0,0x00,0x89,0xE9,0xCF } }; // 50E01980-5166-4093-80F8-ADA00089E9CF template <> inline constexpr guid guid_v{ 0xDC7C829E,0x0208,0x4504,{ 0xA5,0xA8,0xF0,0xF2,0x68,0x92,0x0A,0x65 } }; // DC7C829E-0208-4504-A5A8-F0F268920A65 template <> inline constexpr guid guid_v{ 0x01B266C7,0xFD96,0x4FF5,{ 0xA3,0xC5,0xD2,0x7A,0x9B,0xF4,0x42,0x37 } }; // 01B266C7-FD96-4FF5-A3C5-D27A9BF44237 template <> inline constexpr guid guid_v{ 0xB847371B,0x3299,0x45F5,{ 0x88,0xB3,0xC9,0xD1,0x2A,0x3F,0x1C,0xC8 } }; // B847371B-3299-45F5-88B3-C9D12A3F1CC8 template <> inline constexpr guid guid_v{ 0x1AD46EED,0xE48C,0x4E14,{ 0x96,0x60,0x2C,0x4F,0x83,0xE9,0xCD,0xD8 } }; // 1AD46EED-E48C-4E14-9660-2C4F83E9CDD8 template <> inline constexpr guid guid_v{ 0x4E4C3BD5,0x4FC1,0x45F6,{ 0xA9,0x47,0x3C,0xD3,0x8F,0x4F,0xD8,0x39 } }; // 4E4C3BD5-4FC1-45F6-A947-3CD38F4FD839 template <> inline constexpr guid guid_v{ 0xDDCD25AE,0x1185,0x42A7,{ 0x83,0x1D,0x6A,0x9B,0x0F,0xC8,0x68,0x20 } }; // DDCD25AE-1185-42A7-831D-6A9B0FC86820 template <> inline constexpr guid guid_v{ 0x763070ED,0xD04E,0x4FAC,{ 0xB2,0x33,0x60,0x0B,0x42,0xED,0xD4,0x69 } }; // 763070ED-D04E-4FAC-B233-600B42EDD469 template <> inline constexpr guid guid_v{ 0x1D59647F,0xE6FE,0x4628,{ 0x84,0xF8,0x9D,0x8B,0xDB,0xA2,0x57,0x85 } }; // 1D59647F-E6FE-4628-84F8-9D8BDBA25785 template <> inline constexpr guid guid_v{ 0x72919787,0x4DAB,0x46E3,{ 0xB4,0xC9,0xD8,0xE1,0xA2,0x63,0x60,0x62 } }; // 72919787-4DAB-46E3-B4C9-D8E1A2636062 template <> inline constexpr guid guid_v{ 0xA5D91CC6,0xC2EB,0x4A61,{ 0xA2,0x14,0x1D,0x66,0xD7,0x5F,0x83,0xDA } }; // A5D91CC6-C2EB-4A61-A214-1D66D75F83DA template <> inline constexpr guid guid_v{ 0x76EC3132,0xE159,0x4AB7,{ 0xA8,0x2A,0x17,0xBE,0xB4,0xB3,0x1E,0x94 } }; // 76EC3132-E159-4AB7-A82A-17BEB4B31E94 template <> inline constexpr guid guid_v{ 0xC3D9CBE0,0x3FF6,0x4FB3,{ 0xB2,0x62,0x50,0xD4,0x35,0xC5,0x54,0x23 } }; // C3D9CBE0-3FF6-4FB3-B262-50D435C55423 template <> inline constexpr guid guid_v{ 0xD148005C,0x8428,0x4784,{ 0xB7,0xFD,0xA9,0x9D,0x46,0x8C,0x5D,0x20 } }; // D148005C-8428-4784-B7FD-A99D468C5D20 template <> inline constexpr guid guid_v{ 0x905156B7,0xCA68,0x4C6D,{ 0xA8,0xBC,0xE3,0xEE,0x17,0xFE,0x3F,0xD2 } }; // 905156B7-CA68-4C6D-A8BC-E3EE17FE3FD2 template <> inline constexpr guid guid_v{ 0x15389D7F,0xDBD8,0x4819,{ 0xBF,0x03,0x66,0x8E,0x93,0x57,0xCD,0x6D } }; // 15389D7F-DBD8-4819-BF03-668E9357CD6D template <> inline constexpr guid guid_v{ 0x3676971D,0x880A,0x47B8,{ 0xAD,0xF7,0x13,0x23,0xA9,0xD9,0x65,0xBE } }; // 3676971D-880A-47B8-ADF7-1323A9D965BE template <> inline constexpr guid guid_v{ 0x4AB6EECB,0xEC29,0x47F8,{ 0x81,0x8C,0xB6,0xB6,0x60,0xA5,0xAE,0xB1 } }; // 4AB6EECB-EC29-47F8-818C-B6B660A5AEB1 template <> inline constexpr guid guid_v{ 0xE99B2CEE,0x02CA,0x4375,{ 0x93,0x26,0x0C,0x6A,0xE4,0xBC,0xDF,0xB5 } }; // E99B2CEE-02CA-4375-9326-0C6AE4BCDFB5 template <> inline constexpr guid guid_v{ 0x1D1D5AF7,0x0D53,0x4FA9,{ 0xBD,0x84,0xD5,0x81,0x6A,0x86,0xF3,0xFF } }; // 1D1D5AF7-0D53-4FA9-BD84-D5816A86F3FF template <> inline constexpr guid guid_v{ 0xC7787CA8,0xF178,0x462F,{ 0xBC,0x81,0x8D,0xD5,0xCB,0xE5,0xDA,0xE8 } }; // C7787CA8-F178-462F-BC81-8DD5CBE5DAE8 template <> inline constexpr guid guid_v{ 0xFDC8489A,0x6AD6,0x4CE4,{ 0xB7,0xF7,0xA9,0x93,0x70,0xDF,0x7E,0xE9 } }; // FDC8489A-6AD6-4CE4-B7F7-A99370DF7EE9 template <> inline constexpr guid guid_v{ 0x48934BCF,0xCF2C,0x4EFC,{ 0x93,0x31,0x75,0xBD,0x22,0xDF,0x1F,0x0C } }; // 48934BCF-CF2C-4EFC-9331-75BD22DF1F0C template <> inline constexpr guid guid_v{ 0xEA0311C5,0xE73D,0x44BC,{ 0x85,0x9C,0x45,0x55,0x3B,0xBC,0x48,0x28 } }; // EA0311C5-E73D-44BC-859C-45553BBC4828 template <> inline constexpr guid guid_v{ 0x57BB2771,0xFFA5,0x4B86,{ 0xA7,0x79,0xE2,0x64,0xAE,0xB9,0x14,0x5F } }; // 57BB2771-FFA5-4B86-A779-E264AEB9145F template <> inline constexpr guid guid_v{ 0xD9722E16,0x0C0A,0x41DA,{ 0xB7,0x55,0x6C,0x77,0x83,0x5F,0xB1,0xEB } }; // D9722E16-0C0A-41DA-B755-6C77835FB1EB template <> inline constexpr guid guid_v{ 0x0E0F907C,0x79FF,0x4544,{ 0x9E,0xEB,0x01,0x25,0x7B,0x15,0x10,0x5A } }; // 0E0F907C-79FF-4544-9EEB-01257B15105A template <> inline constexpr guid guid_v{ 0x1A4C1DEA,0xCAFC,0x50E7,{ 0x87,0x18,0xEA,0x3F,0x81,0xCB,0xFA,0x51 } }; // 1A4C1DEA-CAFC-50E7-8718-EA3F81CBFA51 template <> inline constexpr guid guid_v{ 0x4E656AEF,0x39F9,0x5FC9,{ 0xA5,0x19,0xA5,0xBB,0xFD,0x9F,0xE9,0x21 } }; // 4E656AEF-39F9-5FC9-A519-A5BBFD9FE921 template <> inline constexpr guid guid_v{ 0xE60963A2,0x69E6,0x5FFC,{ 0x9E,0x13,0x82,0x4A,0x85,0x21,0x3D,0xAF } }; // E60963A2-69E6-5FFC-9E13-824A85213DAF template <> inline constexpr guid guid_v{ 0x1D13D136,0x0199,0x4CDC,{ 0xB8,0x4E,0xE7,0x2C,0x2B,0x58,0x1E,0xCE } }; // 1D13D136-0199-4CDC-B84E-E72C2B581ECE template <> inline constexpr guid guid_v{ 0x6374EA4C,0x1B3B,0x4001,{ 0x94,0xD9,0xDD,0x22,0x53,0x30,0xFA,0x40 } }; // 6374EA4C-1B3B-4001-94D9-DD225330FA40 template <> inline constexpr guid guid_v{ 0x16EEC7A8,0x1CA7,0x40EF,{ 0x91,0xA4,0xD3,0x46,0xE0,0xAA,0x1B,0xBA } }; // 16EEC7A8-1CA7-40EF-91A4-D346E0AA1BBA template <> inline constexpr guid guid_v{ 0x921C69CE,0x3F35,0x41C7,{ 0x96,0x22,0x79,0xF6,0x08,0xBA,0xED,0xC2 } }; // 921C69CE-3F35-41C7-9622-79F608BAEDC2 template <> inline constexpr guid guid_v{ 0xF7776D27,0x1D9A,0x47F7,{ 0x9C,0xD4,0x28,0x59,0xCC,0x1B,0x7B,0xFF } }; // F7776D27-1D9A-47F7-9CD4-2859CC1B7BFF template <> inline constexpr guid guid_v{ 0x4864269F,0xBDCE,0x4AB1,{ 0xBD,0x38,0xFB,0xAE,0x93,0xAE,0xDA,0xCA } }; // 4864269F-BDCE-4AB1-BD38-FBAE93AEDACA template <> inline constexpr guid guid_v{ 0xCE83D61C,0xE297,0x4C50,{ 0x9C,0xE7,0x1C,0x7A,0x69,0xD6,0xBD,0x09 } }; // CE83D61C-E297-4C50-9CE7-1C7A69D6BD09 template <> inline constexpr guid guid_v{ 0xF9082020,0x3D80,0x4FE0,{ 0x81,0xC1,0x76,0x8F,0xEA,0x7C,0xA7,0xE0 } }; // F9082020-3D80-4FE0-81C1-768FEA7CA7E0 template <> inline constexpr guid guid_v{ 0x47D6BA7B,0xE909,0x453F,{ 0x86,0x6E,0x55,0x40,0xCD,0xA7,0x34,0xFF } }; // 47D6BA7B-E909-453F-866E-5540CDA734FF template <> inline constexpr guid guid_v{ 0x9F01B50D,0x3318,0x47B3,{ 0xA6,0x0A,0x1B,0x49,0x2B,0xE7,0xFC,0x0D } }; // 9F01B50D-3318-47B3-A60A-1B492BE7FC0D template <> inline constexpr guid guid_v{ 0x5453EF7E,0x7BDE,0x4B76,{ 0xBB,0x5D,0x48,0xF7,0x9C,0xFC,0x8C,0x0B } }; // 5453EF7E-7BDE-4B76-BB5D-48F79CFC8C0B template <> inline constexpr guid guid_v{ 0x6D738DFC,0x88C6,0x4FCB,{ 0xA5,0x34,0x85,0xCE,0xDD,0x40,0x50,0xA1 } }; // 6D738DFC-88C6-4FCB-A534-85CEDD4050A1 template <> inline constexpr guid guid_v{ 0x46A658A3,0x53C0,0x4D59,{ 0x9E,0x51,0xCC,0x1D,0x10,0x44,0xA4,0xC4 } }; // 46A658A3-53C0-4D59-9E51-CC1D1044A4C4 template <> inline constexpr guid guid_v{ 0x63514CE8,0x6A1A,0x49E3,{ 0x97,0xEC,0x28,0xFD,0x5B,0xE1,0x14,0xE5 } }; // 63514CE8-6A1A-49E3-97EC-28FD5BE114E5 template <> inline constexpr guid guid_v{ 0x0E4D3FAA,0x36B8,0x4C91,{ 0xB9,0xDA,0x11,0xF4,0x4A,0x8A,0x66,0x10 } }; // 0E4D3FAA-36B8-4C91-B9DA-11F44A8A6610 template <> inline constexpr guid guid_v{ 0x0D4E2257,0xAAF2,0x4E86,{ 0xA5,0x4C,0xFB,0x79,0xDB,0x8F,0x6C,0x12 } }; // 0D4E2257-AAF2-4E86-A54C-FB79DB8F6C12 template <> inline constexpr guid guid_v{ 0xC00A5A6A,0x262D,0x4B85,{ 0x9B,0xB7,0x43,0x28,0x0B,0x62,0xED,0x0C } }; // C00A5A6A-262D-4B85-9BB7-43280B62ED0C template <> inline constexpr guid guid_v{ 0x023F6F1F,0x83FE,0x449A,{ 0xA8,0x22,0xC6,0x96,0x44,0x2D,0x16,0xB0 } }; // 023F6F1F-83FE-449A-A822-C696442D16B0 template <> inline constexpr guid guid_v{ 0xD2876FC4,0xD410,0x4EB5,{ 0x9E,0x69,0xC9,0xAA,0x12,0x77,0xEA,0xF0 } }; // D2876FC4-D410-4EB5-9E69-C9AA1277EAF0 template <> inline constexpr guid guid_v{ 0x3D9BD498,0xA306,0x4F06,{ 0xBD,0x9F,0xE9,0xEF,0xC8,0x22,0x63,0x04 } }; // 3D9BD498-A306-4F06-BD9F-E9EFC8226304 template <> inline constexpr guid guid_v{ 0x6B755D19,0x2603,0x47BA,{ 0xBD,0xEB,0x39,0x05,0x5E,0x34,0x86,0xDC } }; // 6B755D19-2603-47BA-BDEB-39055E3486DC template <> inline constexpr guid guid_v{ 0xECBAE6F1,0x61FF,0x45EF,{ 0xB8,0xF5,0x48,0x65,0x9A,0x57,0xC7,0x2D } }; // ECBAE6F1-61FF-45EF-B8F5-48659A57C72D template <> inline constexpr guid guid_v{ 0x99D8983B,0xA88A,0x4041,{ 0x8E,0x4F,0xDD,0xBA,0xC0,0xC9,0x1F,0xD3 } }; // 99D8983B-A88A-4041-8E4F-DDBAC0C91FD3 template <> inline constexpr guid guid_v{ 0x4606AA89,0xF563,0x4D0A,{ 0x8F,0x6E,0xF0,0xCD,0xDF,0xF3,0x5D,0x84 } }; // 4606AA89-F563-4D0A-8F6E-F0CDDFF35D84 template <> inline constexpr guid guid_v{ 0xA7D5CBFE,0x100B,0x4FF0,{ 0x9D,0xA6,0xDC,0x4E,0x05,0xA7,0x59,0xF0 } }; // A7D5CBFE-100B-4FF0-9DA6-DC4E05A759F0 template <> inline constexpr guid guid_v{ 0x1C2AA511,0x1400,0x5E70,{ 0x9E,0xA9,0xAE,0x15,0x12,0x41,0xE8,0xEA } }; // 1C2AA511-1400-5E70-9EA9-AE151241E8EA template <> inline constexpr guid guid_v{ 0xEE830034,0x61CF,0x5749,{ 0x9D,0xA4,0x10,0xF0,0xFE,0x02,0x81,0x99 } }; // EE830034-61CF-5749-9DA4-10F0FE028199 template <> inline constexpr guid guid_v{ 0x3EC37F7B,0x936D,0x4E04,{ 0x97,0x28,0x28,0x27,0xD9,0xF7,0x58,0xC4 } }; // 3EC37F7B-936D-4E04-9728-2827D9F758C4 template <> inline constexpr guid guid_v{ 0x32DF09A8,0x50F0,0x5395,{ 0x99,0x23,0x7D,0x44,0xCA,0x71,0xED,0x6D } }; // 32DF09A8-50F0-5395-9923-7D44CA71ED6D template <> inline constexpr guid guid_v{ 0x2B5FEF71,0x67C9,0x4E5F,{ 0xA3,0x5B,0x41,0x68,0x07,0x11,0xF8,0xC7 } }; // 2B5FEF71-67C9-4E5F-A35B-41680711F8C7 template <> inline constexpr guid guid_v{ 0xB3DE8A47,0x83EE,0x4266,{ 0xA9,0x45,0xBE,0xDF,0x50,0x7A,0xFE,0xED } }; // B3DE8A47-83EE-4266-A945-BEDF507AFEED template <> inline constexpr guid guid_v{ 0x4565E6CB,0xD95B,0x5621,{ 0xB6,0xAF,0x0E,0x88,0x49,0xC5,0x7C,0x80 } }; // 4565E6CB-D95B-5621-B6AF-0E8849C57C80 template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioDeviceInputNode; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioDeviceOutputNode; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioEffectsPackConfiguration; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioFileInputNode; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioFileOutputNode; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioFrameCompletedEventArgs; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioFrameInputNode; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioFrameOutputNode; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioGraph; }; template <> struct default_interface{ using type = winrt::Windows::Foundation::IClosable; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioGraphConnection; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioGraphSettings; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioGraphUnrecoverableErrorOccurredEventArgs; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioNodeEmitter; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioNodeEmitterConeProperties; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioNodeEmitterDecayModel; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioNodeEmitterNaturalDecayModelProperties; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioNodeEmitterShape; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioNodeListener; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioPlaybackConnection; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioPlaybackConnectionOpenResult; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioStateMonitor; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IAudioInputNode; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::ICreateAudioDeviceInputNodeResult; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::ICreateAudioDeviceOutputNodeResult; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::ICreateAudioFileInputNodeResult; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::ICreateAudioFileOutputNodeResult; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::ICreateAudioGraphResult; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::ICreateMediaSourceAudioInputNodeResult; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IEchoEffectDefinition; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IEqualizerBand; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IEqualizerEffectDefinition; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IFrameInputNodeQuantumStartedEventArgs; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::ILimiterEffectDefinition; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IMediaSourceAudioInputNode; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::IReverbEffectDefinition; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::ISetDefaultSpatialAudioFormatResult; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::ISpatialAudioDeviceConfiguration; }; template <> struct default_interface{ using type = winrt::Windows::Media::Audio::ISpatialAudioFormatConfiguration; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Device(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Device(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_DeviceId(void**) noexcept = 0; virtual int32_t __stdcall get_EffectsPackId(void**) noexcept = 0; virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; virtual int32_t __stdcall add_StatusChanged(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_StatusChanged(winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetForDeviceId(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall IsDeviceIdSupported(void*, void*, bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall put_PlaybackSpeedFactor(double) noexcept = 0; virtual int32_t __stdcall get_PlaybackSpeedFactor(double*) noexcept = 0; virtual int32_t __stdcall get_Position(int64_t*) noexcept = 0; virtual int32_t __stdcall Seek(int64_t) noexcept = 0; virtual int32_t __stdcall get_StartTime(void**) noexcept = 0; virtual int32_t __stdcall put_StartTime(void*) noexcept = 0; virtual int32_t __stdcall get_EndTime(void**) noexcept = 0; virtual int32_t __stdcall put_EndTime(void*) noexcept = 0; virtual int32_t __stdcall get_LoopCount(void**) noexcept = 0; virtual int32_t __stdcall put_LoopCount(void*) noexcept = 0; virtual int32_t __stdcall get_Duration(int64_t*) noexcept = 0; virtual int32_t __stdcall get_SourceFile(void**) noexcept = 0; virtual int32_t __stdcall add_FileCompleted(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_FileCompleted(winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_File(void**) noexcept = 0; virtual int32_t __stdcall get_FileEncodingProfile(void**) noexcept = 0; virtual int32_t __stdcall FinalizeAsync(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Frame(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall put_PlaybackSpeedFactor(double) noexcept = 0; virtual int32_t __stdcall get_PlaybackSpeedFactor(double*) noexcept = 0; virtual int32_t __stdcall AddFrame(void*) noexcept = 0; virtual int32_t __stdcall DiscardQueuedFrames() noexcept = 0; virtual int32_t __stdcall get_QueuedSampleCount(uint64_t*) noexcept = 0; virtual int32_t __stdcall add_AudioFrameCompleted(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_AudioFrameCompleted(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_QuantumStarted(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_QuantumStarted(winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetFrame(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateFrameInputNode(void**) noexcept = 0; virtual int32_t __stdcall CreateFrameInputNodeWithFormat(void*, void**) noexcept = 0; virtual int32_t __stdcall CreateDeviceInputNodeAsync(int32_t, void**) noexcept = 0; virtual int32_t __stdcall CreateDeviceInputNodeWithFormatAsync(int32_t, void*, void**) noexcept = 0; virtual int32_t __stdcall CreateDeviceInputNodeWithFormatOnDeviceAsync(int32_t, void*, void*, void**) noexcept = 0; virtual int32_t __stdcall CreateFrameOutputNode(void**) noexcept = 0; virtual int32_t __stdcall CreateFrameOutputNodeWithFormat(void*, void**) noexcept = 0; virtual int32_t __stdcall CreateDeviceOutputNodeAsync(void**) noexcept = 0; virtual int32_t __stdcall CreateFileInputNodeAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall CreateFileOutputNodeAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall CreateFileOutputNodeWithFileProfileAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall CreateSubmixNode(void**) noexcept = 0; virtual int32_t __stdcall CreateSubmixNodeWithFormat(void*, void**) noexcept = 0; virtual int32_t __stdcall Start() noexcept = 0; virtual int32_t __stdcall Stop() noexcept = 0; virtual int32_t __stdcall ResetAllNodes() noexcept = 0; virtual int32_t __stdcall add_QuantumStarted(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_QuantumStarted(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_QuantumProcessed(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_QuantumProcessed(winrt::event_token) noexcept = 0; virtual int32_t __stdcall add_UnrecoverableErrorOccurred(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_UnrecoverableErrorOccurred(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_CompletedQuantumCount(uint64_t*) noexcept = 0; virtual int32_t __stdcall get_EncodingProperties(void**) noexcept = 0; virtual int32_t __stdcall get_LatencyInSamples(int32_t*) noexcept = 0; virtual int32_t __stdcall get_PrimaryRenderDevice(void**) noexcept = 0; virtual int32_t __stdcall get_RenderDeviceAudioProcessing(int32_t*) noexcept = 0; virtual int32_t __stdcall get_SamplesPerQuantum(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateFrameInputNodeWithFormatAndEmitter(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall CreateDeviceInputNodeWithFormatAndEmitterOnDeviceAsync(int32_t, void*, void*, void*, void**) noexcept = 0; virtual int32_t __stdcall CreateFileInputNodeWithEmitterAsync(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall CreateSubmixNodeWithFormatAndEmitter(void*, void*, void**) noexcept = 0; virtual int32_t __stdcall CreateBatchUpdater(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateMediaSourceAudioInputNodeAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall CreateMediaSourceAudioInputNodeWithEmitterAsync(void*, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Destination(void**) noexcept = 0; virtual int32_t __stdcall put_Gain(double) noexcept = 0; virtual int32_t __stdcall get_Gain(double*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_EncodingProperties(void**) noexcept = 0; virtual int32_t __stdcall put_EncodingProperties(void*) noexcept = 0; virtual int32_t __stdcall get_PrimaryRenderDevice(void**) noexcept = 0; virtual int32_t __stdcall put_PrimaryRenderDevice(void*) noexcept = 0; virtual int32_t __stdcall get_QuantumSizeSelectionMode(int32_t*) noexcept = 0; virtual int32_t __stdcall put_QuantumSizeSelectionMode(int32_t) noexcept = 0; virtual int32_t __stdcall get_DesiredSamplesPerQuantum(int32_t*) noexcept = 0; virtual int32_t __stdcall put_DesiredSamplesPerQuantum(int32_t) noexcept = 0; virtual int32_t __stdcall get_AudioRenderCategory(int32_t*) noexcept = 0; virtual int32_t __stdcall put_AudioRenderCategory(int32_t) noexcept = 0; virtual int32_t __stdcall get_DesiredRenderDeviceAudioProcessing(int32_t*) noexcept = 0; virtual int32_t __stdcall put_DesiredRenderDeviceAudioProcessing(int32_t) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall put_MaxPlaybackSpeedFactor(double) noexcept = 0; virtual int32_t __stdcall get_MaxPlaybackSpeedFactor(double*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(int32_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateAsync(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Error(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_OutgoingConnections(void**) noexcept = 0; virtual int32_t __stdcall AddOutgoingConnection(void*) noexcept = 0; virtual int32_t __stdcall AddOutgoingConnectionWithGain(void*, double) noexcept = 0; virtual int32_t __stdcall RemoveOutgoingConnection(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Emitter(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_EffectDefinitions(void**) noexcept = 0; virtual int32_t __stdcall put_OutgoingGain(double) noexcept = 0; virtual int32_t __stdcall get_OutgoingGain(double*) noexcept = 0; virtual int32_t __stdcall get_EncodingProperties(void**) noexcept = 0; virtual int32_t __stdcall get_ConsumeInput(bool*) noexcept = 0; virtual int32_t __stdcall put_ConsumeInput(bool) noexcept = 0; virtual int32_t __stdcall Start() noexcept = 0; virtual int32_t __stdcall Stop() noexcept = 0; virtual int32_t __stdcall Reset() noexcept = 0; virtual int32_t __stdcall DisableEffectsByDefinition(void*) noexcept = 0; virtual int32_t __stdcall EnableEffectsByDefinition(void*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Position(winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall put_Position(winrt::Windows::Foundation::Numerics::float3) noexcept = 0; virtual int32_t __stdcall get_Direction(winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall put_Direction(winrt::Windows::Foundation::Numerics::float3) noexcept = 0; virtual int32_t __stdcall get_Shape(void**) noexcept = 0; virtual int32_t __stdcall get_DecayModel(void**) noexcept = 0; virtual int32_t __stdcall get_Gain(double*) noexcept = 0; virtual int32_t __stdcall put_Gain(double) noexcept = 0; virtual int32_t __stdcall get_DistanceScale(double*) noexcept = 0; virtual int32_t __stdcall put_DistanceScale(double) noexcept = 0; virtual int32_t __stdcall get_DopplerScale(double*) noexcept = 0; virtual int32_t __stdcall put_DopplerScale(double) noexcept = 0; virtual int32_t __stdcall get_DopplerVelocity(winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall put_DopplerVelocity(winrt::Windows::Foundation::Numerics::float3) noexcept = 0; virtual int32_t __stdcall get_IsDopplerDisabled(bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_SpatialAudioModel(int32_t*) noexcept = 0; virtual int32_t __stdcall put_SpatialAudioModel(int32_t) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_InnerAngle(double*) noexcept = 0; virtual int32_t __stdcall get_OuterAngle(double*) noexcept = 0; virtual int32_t __stdcall get_OuterAngleGain(double*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Kind(int32_t*) noexcept = 0; virtual int32_t __stdcall get_MinGain(double*) noexcept = 0; virtual int32_t __stdcall get_MaxGain(double*) noexcept = 0; virtual int32_t __stdcall get_NaturalProperties(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateNatural(double, double, double, double, void**) noexcept = 0; virtual int32_t __stdcall CreateCustom(double, double, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateAudioNodeEmitter(void*, void*, uint32_t, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_UnityGainDistance(double*) noexcept = 0; virtual int32_t __stdcall get_CutoffDistance(double*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Kind(int32_t*) noexcept = 0; virtual int32_t __stdcall get_ConeProperties(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateCone(double, double, double, void**) noexcept = 0; virtual int32_t __stdcall CreateOmnidirectional(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Position(winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall put_Position(winrt::Windows::Foundation::Numerics::float3) noexcept = 0; virtual int32_t __stdcall get_Orientation(winrt::Windows::Foundation::Numerics::quaternion*) noexcept = 0; virtual int32_t __stdcall put_Orientation(winrt::Windows::Foundation::Numerics::quaternion) noexcept = 0; virtual int32_t __stdcall get_SpeedOfSound(double*) noexcept = 0; virtual int32_t __stdcall put_SpeedOfSound(double) noexcept = 0; virtual int32_t __stdcall get_DopplerVelocity(winrt::Windows::Foundation::Numerics::float3*) noexcept = 0; virtual int32_t __stdcall put_DopplerVelocity(winrt::Windows::Foundation::Numerics::float3) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall put_Listener(void*) noexcept = 0; virtual int32_t __stdcall get_Listener(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Start() noexcept = 0; virtual int32_t __stdcall StartAsync(void**) noexcept = 0; virtual int32_t __stdcall get_DeviceId(void**) noexcept = 0; virtual int32_t __stdcall get_State(int32_t*) noexcept = 0; virtual int32_t __stdcall Open(void**) noexcept = 0; virtual int32_t __stdcall OpenAsync(void**) noexcept = 0; virtual int32_t __stdcall add_StateChanged(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_StateChanged(winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; virtual int32_t __stdcall get_ExtendedError(winrt::hresult*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetDeviceSelector(void**) noexcept = 0; virtual int32_t __stdcall TryCreateFromId(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall add_SoundLevelChanged(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_SoundLevelChanged(winrt::event_token) noexcept = 0; virtual int32_t __stdcall get_SoundLevel(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall CreateForRenderMonitoring(void**) noexcept = 0; virtual int32_t __stdcall CreateForRenderMonitoringWithCategory(int32_t, void**) noexcept = 0; virtual int32_t __stdcall CreateForRenderMonitoringWithCategoryAndDeviceRole(int32_t, int32_t, void**) noexcept = 0; virtual int32_t __stdcall CreateForRenderMonitoringWithCategoryAndDeviceId(int32_t, void*, void**) noexcept = 0; virtual int32_t __stdcall CreateForCaptureMonitoring(void**) noexcept = 0; virtual int32_t __stdcall CreateForCaptureMonitoringWithCategory(int32_t, void**) noexcept = 0; virtual int32_t __stdcall CreateForCaptureMonitoringWithCategoryAndDeviceRole(int32_t, int32_t, void**) noexcept = 0; virtual int32_t __stdcall CreateForCaptureMonitoringWithCategoryAndDeviceId(int32_t, void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; virtual int32_t __stdcall get_DeviceInputNode(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_ExtendedError(winrt::hresult*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; virtual int32_t __stdcall get_DeviceOutputNode(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_ExtendedError(winrt::hresult*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; virtual int32_t __stdcall get_FileInputNode(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_ExtendedError(winrt::hresult*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; virtual int32_t __stdcall get_FileOutputNode(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_ExtendedError(winrt::hresult*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; virtual int32_t __stdcall get_Graph(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_ExtendedError(winrt::hresult*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; virtual int32_t __stdcall get_Node(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_ExtendedError(winrt::hresult*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall put_WetDryMix(double) noexcept = 0; virtual int32_t __stdcall get_WetDryMix(double*) noexcept = 0; virtual int32_t __stdcall put_Feedback(double) noexcept = 0; virtual int32_t __stdcall get_Feedback(double*) noexcept = 0; virtual int32_t __stdcall put_Delay(double) noexcept = 0; virtual int32_t __stdcall get_Delay(double*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Bandwidth(double*) noexcept = 0; virtual int32_t __stdcall put_Bandwidth(double) noexcept = 0; virtual int32_t __stdcall get_FrequencyCenter(double*) noexcept = 0; virtual int32_t __stdcall put_FrequencyCenter(double) noexcept = 0; virtual int32_t __stdcall get_Gain(double*) noexcept = 0; virtual int32_t __stdcall put_Gain(double) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Bands(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_RequiredSamples(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall put_Release(uint32_t) noexcept = 0; virtual int32_t __stdcall get_Release(uint32_t*) noexcept = 0; virtual int32_t __stdcall put_Loudness(uint32_t) noexcept = 0; virtual int32_t __stdcall get_Loudness(uint32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall put_PlaybackSpeedFactor(double) noexcept = 0; virtual int32_t __stdcall get_PlaybackSpeedFactor(double*) noexcept = 0; virtual int32_t __stdcall get_Position(int64_t*) noexcept = 0; virtual int32_t __stdcall Seek(int64_t) noexcept = 0; virtual int32_t __stdcall get_StartTime(void**) noexcept = 0; virtual int32_t __stdcall put_StartTime(void*) noexcept = 0; virtual int32_t __stdcall get_EndTime(void**) noexcept = 0; virtual int32_t __stdcall put_EndTime(void*) noexcept = 0; virtual int32_t __stdcall get_LoopCount(void**) noexcept = 0; virtual int32_t __stdcall put_LoopCount(void*) noexcept = 0; virtual int32_t __stdcall get_Duration(int64_t*) noexcept = 0; virtual int32_t __stdcall get_MediaSource(void**) noexcept = 0; virtual int32_t __stdcall add_MediaSourceCompleted(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_MediaSourceCompleted(winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall put_WetDryMix(double) noexcept = 0; virtual int32_t __stdcall get_WetDryMix(double*) noexcept = 0; virtual int32_t __stdcall put_ReflectionsDelay(uint32_t) noexcept = 0; virtual int32_t __stdcall get_ReflectionsDelay(uint32_t*) noexcept = 0; virtual int32_t __stdcall put_ReverbDelay(uint8_t) noexcept = 0; virtual int32_t __stdcall get_ReverbDelay(uint8_t*) noexcept = 0; virtual int32_t __stdcall put_RearDelay(uint8_t) noexcept = 0; virtual int32_t __stdcall get_RearDelay(uint8_t*) noexcept = 0; virtual int32_t __stdcall put_PositionLeft(uint8_t) noexcept = 0; virtual int32_t __stdcall get_PositionLeft(uint8_t*) noexcept = 0; virtual int32_t __stdcall put_PositionRight(uint8_t) noexcept = 0; virtual int32_t __stdcall get_PositionRight(uint8_t*) noexcept = 0; virtual int32_t __stdcall put_PositionMatrixLeft(uint8_t) noexcept = 0; virtual int32_t __stdcall get_PositionMatrixLeft(uint8_t*) noexcept = 0; virtual int32_t __stdcall put_PositionMatrixRight(uint8_t) noexcept = 0; virtual int32_t __stdcall get_PositionMatrixRight(uint8_t*) noexcept = 0; virtual int32_t __stdcall put_EarlyDiffusion(uint8_t) noexcept = 0; virtual int32_t __stdcall get_EarlyDiffusion(uint8_t*) noexcept = 0; virtual int32_t __stdcall put_LateDiffusion(uint8_t) noexcept = 0; virtual int32_t __stdcall get_LateDiffusion(uint8_t*) noexcept = 0; virtual int32_t __stdcall put_LowEQGain(uint8_t) noexcept = 0; virtual int32_t __stdcall get_LowEQGain(uint8_t*) noexcept = 0; virtual int32_t __stdcall put_LowEQCutoff(uint8_t) noexcept = 0; virtual int32_t __stdcall get_LowEQCutoff(uint8_t*) noexcept = 0; virtual int32_t __stdcall put_HighEQGain(uint8_t) noexcept = 0; virtual int32_t __stdcall get_HighEQGain(uint8_t*) noexcept = 0; virtual int32_t __stdcall put_HighEQCutoff(uint8_t) noexcept = 0; virtual int32_t __stdcall get_HighEQCutoff(uint8_t*) noexcept = 0; virtual int32_t __stdcall put_RoomFilterFreq(double) noexcept = 0; virtual int32_t __stdcall get_RoomFilterFreq(double*) noexcept = 0; virtual int32_t __stdcall put_RoomFilterMain(double) noexcept = 0; virtual int32_t __stdcall get_RoomFilterMain(double*) noexcept = 0; virtual int32_t __stdcall put_RoomFilterHF(double) noexcept = 0; virtual int32_t __stdcall get_RoomFilterHF(double*) noexcept = 0; virtual int32_t __stdcall put_ReflectionsGain(double) noexcept = 0; virtual int32_t __stdcall get_ReflectionsGain(double*) noexcept = 0; virtual int32_t __stdcall put_ReverbGain(double) noexcept = 0; virtual int32_t __stdcall get_ReverbGain(double*) noexcept = 0; virtual int32_t __stdcall put_DecayTime(double) noexcept = 0; virtual int32_t __stdcall get_DecayTime(double*) noexcept = 0; virtual int32_t __stdcall put_Density(double) noexcept = 0; virtual int32_t __stdcall get_Density(double*) noexcept = 0; virtual int32_t __stdcall put_RoomSize(double) noexcept = 0; virtual int32_t __stdcall get_RoomSize(double*) noexcept = 0; virtual int32_t __stdcall put_DisableLateField(bool) noexcept = 0; virtual int32_t __stdcall get_DisableLateField(bool*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall Create(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_Status(int32_t*) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_DeviceId(void**) noexcept = 0; virtual int32_t __stdcall get_IsSpatialAudioSupported(bool*) noexcept = 0; virtual int32_t __stdcall IsSpatialAudioFormatSupported(void*, bool*) noexcept = 0; virtual int32_t __stdcall get_ActiveSpatialAudioFormat(void**) noexcept = 0; virtual int32_t __stdcall get_DefaultSpatialAudioFormat(void**) noexcept = 0; virtual int32_t __stdcall SetDefaultSpatialAudioFormatAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall add_ConfigurationChanged(void*, winrt::event_token*) noexcept = 0; virtual int32_t __stdcall remove_ConfigurationChanged(winrt::event_token) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetForDeviceId(void*, void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall ReportLicenseChangedAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall ReportConfigurationChangedAsync(void*, void**) noexcept = 0; virtual int32_t __stdcall get_MixedRealityExclusiveModePolicy(int32_t*) noexcept = 0; virtual int32_t __stdcall put_MixedRealityExclusiveModePolicy(int32_t) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall GetDefault(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_WindowsSonic(void**) noexcept = 0; virtual int32_t __stdcall get_DolbyAtmosForHeadphones(void**) noexcept = 0; virtual int32_t __stdcall get_DolbyAtmosForHomeTheater(void**) noexcept = 0; virtual int32_t __stdcall get_DolbyAtmosForSpeakers(void**) noexcept = 0; virtual int32_t __stdcall get_DTSHeadphoneX(void**) noexcept = 0; virtual int32_t __stdcall get_DTSXUltra(void**) noexcept = 0; }; }; template <> struct abi { struct WINRT_IMPL_NOVTABLE type : inspectable_abi { virtual int32_t __stdcall get_DTSXForHomeTheater(void**) noexcept = 0; }; }; template struct consume_Windows_Media_Audio_IAudioDeviceInputNode { [[nodiscard]] auto Device() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioDeviceInputNode; }; template struct consume_Windows_Media_Audio_IAudioDeviceOutputNode { [[nodiscard]] auto Device() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioDeviceOutputNode; }; template struct consume_Windows_Media_Audio_IAudioEffectsPackConfiguration { [[nodiscard]] auto DeviceId() const; [[nodiscard]] auto EffectsPackId() const; [[nodiscard]] auto Status() const; auto StatusChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using StatusChanged_revoker = impl::event_revoker::remove_StatusChanged>; [[nodiscard]] auto StatusChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto StatusChanged(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioEffectsPackConfiguration; }; template struct consume_Windows_Media_Audio_IAudioEffectsPackConfigurationStatics { auto GetForDeviceId(param::hstring const& effectsPackId, param::hstring const& deviceId) const; auto IsDeviceIdSupported(param::hstring const& effectsPackId, param::hstring const& deviceId) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioEffectsPackConfigurationStatics; }; template struct consume_Windows_Media_Audio_IAudioFileInputNode { auto PlaybackSpeedFactor(double value) const; [[nodiscard]] auto PlaybackSpeedFactor() const; [[nodiscard]] auto Position() const; auto Seek(winrt::Windows::Foundation::TimeSpan const& position) const; [[nodiscard]] auto StartTime() const; auto StartTime(winrt::Windows::Foundation::IReference const& value) const; [[nodiscard]] auto EndTime() const; auto EndTime(winrt::Windows::Foundation::IReference const& value) const; [[nodiscard]] auto LoopCount() const; auto LoopCount(winrt::Windows::Foundation::IReference const& value) const; [[nodiscard]] auto Duration() const; [[nodiscard]] auto SourceFile() const; auto FileCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using FileCompleted_revoker = impl::event_revoker::remove_FileCompleted>; [[nodiscard]] auto FileCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto FileCompleted(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioFileInputNode; }; template struct consume_Windows_Media_Audio_IAudioFileOutputNode { [[nodiscard]] auto File() const; [[nodiscard]] auto FileEncodingProfile() const; auto FinalizeAsync() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioFileOutputNode; }; template struct consume_Windows_Media_Audio_IAudioFrameCompletedEventArgs { [[nodiscard]] auto Frame() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioFrameCompletedEventArgs; }; template struct consume_Windows_Media_Audio_IAudioFrameInputNode { auto PlaybackSpeedFactor(double value) const; [[nodiscard]] auto PlaybackSpeedFactor() const; auto AddFrame(winrt::Windows::Media::AudioFrame const& frame) const; auto DiscardQueuedFrames() const; [[nodiscard]] auto QueuedSampleCount() const; auto AudioFrameCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using AudioFrameCompleted_revoker = impl::event_revoker::remove_AudioFrameCompleted>; [[nodiscard]] auto AudioFrameCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto AudioFrameCompleted(winrt::event_token const& token) const noexcept; auto QuantumStarted(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using QuantumStarted_revoker = impl::event_revoker::remove_QuantumStarted>; [[nodiscard]] auto QuantumStarted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto QuantumStarted(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioFrameInputNode; }; template struct consume_Windows_Media_Audio_IAudioFrameOutputNode { auto GetFrame() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioFrameOutputNode; }; template struct consume_Windows_Media_Audio_IAudioGraph { auto CreateFrameInputNode() const; auto CreateFrameInputNode(winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties) const; auto CreateDeviceInputNodeAsync(winrt::Windows::Media::Capture::MediaCategory const& category) const; auto CreateDeviceInputNodeAsync(winrt::Windows::Media::Capture::MediaCategory const& category, winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties) const; auto CreateDeviceInputNodeAsync(winrt::Windows::Media::Capture::MediaCategory const& category, winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties, winrt::Windows::Devices::Enumeration::DeviceInformation const& device) const; auto CreateFrameOutputNode() const; auto CreateFrameOutputNode(winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties) const; auto CreateDeviceOutputNodeAsync() const; auto CreateFileInputNodeAsync(winrt::Windows::Storage::IStorageFile const& file) const; auto CreateFileOutputNodeAsync(winrt::Windows::Storage::IStorageFile const& file) const; auto CreateFileOutputNodeAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Media::MediaProperties::MediaEncodingProfile const& fileEncodingProfile) const; auto CreateSubmixNode() const; auto CreateSubmixNode(winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties) const; auto Start() const; auto Stop() const; auto ResetAllNodes() const; auto QuantumStarted(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using QuantumStarted_revoker = impl::event_revoker::remove_QuantumStarted>; [[nodiscard]] auto QuantumStarted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto QuantumStarted(winrt::event_token const& token) const noexcept; auto QuantumProcessed(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using QuantumProcessed_revoker = impl::event_revoker::remove_QuantumProcessed>; [[nodiscard]] auto QuantumProcessed(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto QuantumProcessed(winrt::event_token const& token) const noexcept; auto UnrecoverableErrorOccurred(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using UnrecoverableErrorOccurred_revoker = impl::event_revoker::remove_UnrecoverableErrorOccurred>; [[nodiscard]] auto UnrecoverableErrorOccurred(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto UnrecoverableErrorOccurred(winrt::event_token const& token) const noexcept; [[nodiscard]] auto CompletedQuantumCount() const; [[nodiscard]] auto EncodingProperties() const; [[nodiscard]] auto LatencyInSamples() const; [[nodiscard]] auto PrimaryRenderDevice() const; [[nodiscard]] auto RenderDeviceAudioProcessing() const; [[nodiscard]] auto SamplesPerQuantum() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioGraph; }; template struct consume_Windows_Media_Audio_IAudioGraph2 { auto CreateFrameInputNode(winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties, winrt::Windows::Media::Audio::AudioNodeEmitter const& emitter) const; auto CreateDeviceInputNodeAsync(winrt::Windows::Media::Capture::MediaCategory const& category, winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties, winrt::Windows::Devices::Enumeration::DeviceInformation const& device, winrt::Windows::Media::Audio::AudioNodeEmitter const& emitter) const; auto CreateFileInputNodeAsync(winrt::Windows::Storage::IStorageFile const& file, winrt::Windows::Media::Audio::AudioNodeEmitter const& emitter) const; auto CreateSubmixNode(winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& encodingProperties, winrt::Windows::Media::Audio::AudioNodeEmitter const& emitter) const; auto CreateBatchUpdater() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioGraph2; }; template struct consume_Windows_Media_Audio_IAudioGraph3 { auto CreateMediaSourceAudioInputNodeAsync(winrt::Windows::Media::Core::MediaSource const& mediaSource) const; auto CreateMediaSourceAudioInputNodeAsync(winrt::Windows::Media::Core::MediaSource const& mediaSource, winrt::Windows::Media::Audio::AudioNodeEmitter const& emitter) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioGraph3; }; template struct consume_Windows_Media_Audio_IAudioGraphConnection { [[nodiscard]] auto Destination() const; auto Gain(double value) const; [[nodiscard]] auto Gain() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioGraphConnection; }; template struct consume_Windows_Media_Audio_IAudioGraphSettings { [[nodiscard]] auto EncodingProperties() const; auto EncodingProperties(winrt::Windows::Media::MediaProperties::AudioEncodingProperties const& value) const; [[nodiscard]] auto PrimaryRenderDevice() const; auto PrimaryRenderDevice(winrt::Windows::Devices::Enumeration::DeviceInformation const& value) const; [[nodiscard]] auto QuantumSizeSelectionMode() const; auto QuantumSizeSelectionMode(winrt::Windows::Media::Audio::QuantumSizeSelectionMode const& value) const; [[nodiscard]] auto DesiredSamplesPerQuantum() const; auto DesiredSamplesPerQuantum(int32_t value) const; [[nodiscard]] auto AudioRenderCategory() const; auto AudioRenderCategory(winrt::Windows::Media::Render::AudioRenderCategory const& value) const; [[nodiscard]] auto DesiredRenderDeviceAudioProcessing() const; auto DesiredRenderDeviceAudioProcessing(winrt::Windows::Media::AudioProcessing const& value) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioGraphSettings; }; template struct consume_Windows_Media_Audio_IAudioGraphSettings2 { auto MaxPlaybackSpeedFactor(double value) const; [[nodiscard]] auto MaxPlaybackSpeedFactor() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioGraphSettings2; }; template struct consume_Windows_Media_Audio_IAudioGraphSettingsFactory { auto Create(winrt::Windows::Media::Render::AudioRenderCategory const& audioRenderCategory) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioGraphSettingsFactory; }; template struct consume_Windows_Media_Audio_IAudioGraphStatics { auto CreateAsync(winrt::Windows::Media::Audio::AudioGraphSettings const& settings) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioGraphStatics; }; template struct consume_Windows_Media_Audio_IAudioGraphUnrecoverableErrorOccurredEventArgs { [[nodiscard]] auto Error() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioGraphUnrecoverableErrorOccurredEventArgs; }; template struct consume_Windows_Media_Audio_IAudioInputNode { [[nodiscard]] auto OutgoingConnections() const; auto AddOutgoingConnection(winrt::Windows::Media::Audio::IAudioNode const& destination) const; auto AddOutgoingConnection(winrt::Windows::Media::Audio::IAudioNode const& destination, double gain) const; auto RemoveOutgoingConnection(winrt::Windows::Media::Audio::IAudioNode const& destination) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioInputNode; }; template struct consume_Windows_Media_Audio_IAudioInputNode2 { [[nodiscard]] auto Emitter() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioInputNode2; }; template struct consume_Windows_Media_Audio_IAudioNode { [[nodiscard]] auto EffectDefinitions() const; auto OutgoingGain(double value) const; [[nodiscard]] auto OutgoingGain() const; [[nodiscard]] auto EncodingProperties() const; [[nodiscard]] auto ConsumeInput() const; auto ConsumeInput(bool value) const; auto Start() const; auto Stop() const; auto Reset() const; auto DisableEffectsByDefinition(winrt::Windows::Media::Effects::IAudioEffectDefinition const& definition) const; auto EnableEffectsByDefinition(winrt::Windows::Media::Effects::IAudioEffectDefinition const& definition) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioNode; }; template struct consume_Windows_Media_Audio_IAudioNodeEmitter { [[nodiscard]] auto Position() const; auto Position(winrt::Windows::Foundation::Numerics::float3 const& value) const; [[nodiscard]] auto Direction() const; auto Direction(winrt::Windows::Foundation::Numerics::float3 const& value) const; [[nodiscard]] auto Shape() const; [[nodiscard]] auto DecayModel() const; [[nodiscard]] auto Gain() const; auto Gain(double value) const; [[nodiscard]] auto DistanceScale() const; auto DistanceScale(double value) const; [[nodiscard]] auto DopplerScale() const; auto DopplerScale(double value) const; [[nodiscard]] auto DopplerVelocity() const; auto DopplerVelocity(winrt::Windows::Foundation::Numerics::float3 const& value) const; [[nodiscard]] auto IsDopplerDisabled() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioNodeEmitter; }; template struct consume_Windows_Media_Audio_IAudioNodeEmitter2 { [[nodiscard]] auto SpatialAudioModel() const; auto SpatialAudioModel(winrt::Windows::Media::Audio::SpatialAudioModel const& value) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioNodeEmitter2; }; template struct consume_Windows_Media_Audio_IAudioNodeEmitterConeProperties { [[nodiscard]] auto InnerAngle() const; [[nodiscard]] auto OuterAngle() const; [[nodiscard]] auto OuterAngleGain() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioNodeEmitterConeProperties; }; template struct consume_Windows_Media_Audio_IAudioNodeEmitterDecayModel { [[nodiscard]] auto Kind() const; [[nodiscard]] auto MinGain() const; [[nodiscard]] auto MaxGain() const; [[nodiscard]] auto NaturalProperties() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioNodeEmitterDecayModel; }; template struct consume_Windows_Media_Audio_IAudioNodeEmitterDecayModelStatics { auto CreateNatural(double minGain, double maxGain, double unityGainDistance, double cutoffDistance) const; auto CreateCustom(double minGain, double maxGain) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioNodeEmitterDecayModelStatics; }; template struct consume_Windows_Media_Audio_IAudioNodeEmitterFactory { auto CreateAudioNodeEmitter(winrt::Windows::Media::Audio::AudioNodeEmitterShape const& shape, winrt::Windows::Media::Audio::AudioNodeEmitterDecayModel const& decayModel, winrt::Windows::Media::Audio::AudioNodeEmitterSettings const& settings) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioNodeEmitterFactory; }; template struct consume_Windows_Media_Audio_IAudioNodeEmitterNaturalDecayModelProperties { [[nodiscard]] auto UnityGainDistance() const; [[nodiscard]] auto CutoffDistance() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioNodeEmitterNaturalDecayModelProperties; }; template struct consume_Windows_Media_Audio_IAudioNodeEmitterShape { [[nodiscard]] auto Kind() const; [[nodiscard]] auto ConeProperties() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioNodeEmitterShape; }; template struct consume_Windows_Media_Audio_IAudioNodeEmitterShapeStatics { auto CreateCone(double innerAngle, double outerAngle, double outerAngleGain) const; auto CreateOmnidirectional() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioNodeEmitterShapeStatics; }; template struct consume_Windows_Media_Audio_IAudioNodeListener { [[nodiscard]] auto Position() const; auto Position(winrt::Windows::Foundation::Numerics::float3 const& value) const; [[nodiscard]] auto Orientation() const; auto Orientation(winrt::Windows::Foundation::Numerics::quaternion const& value) const; [[nodiscard]] auto SpeedOfSound() const; auto SpeedOfSound(double value) const; [[nodiscard]] auto DopplerVelocity() const; auto DopplerVelocity(winrt::Windows::Foundation::Numerics::float3 const& value) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioNodeListener; }; template struct consume_Windows_Media_Audio_IAudioNodeWithListener { auto Listener(winrt::Windows::Media::Audio::AudioNodeListener const& value) const; [[nodiscard]] auto Listener() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioNodeWithListener; }; template struct consume_Windows_Media_Audio_IAudioPlaybackConnection { auto Start() const; auto StartAsync() const; [[nodiscard]] auto DeviceId() const; [[nodiscard]] auto State() const; auto Open() const; auto OpenAsync() const; auto StateChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using StateChanged_revoker = impl::event_revoker::remove_StateChanged>; [[nodiscard]] auto StateChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto StateChanged(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioPlaybackConnection; }; template struct consume_Windows_Media_Audio_IAudioPlaybackConnectionOpenResult { [[nodiscard]] auto Status() const; [[nodiscard]] auto ExtendedError() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioPlaybackConnectionOpenResult; }; template struct consume_Windows_Media_Audio_IAudioPlaybackConnectionStatics { auto GetDeviceSelector() const; auto TryCreateFromId(param::hstring const& id) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioPlaybackConnectionStatics; }; template struct consume_Windows_Media_Audio_IAudioStateMonitor { auto SoundLevelChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using SoundLevelChanged_revoker = impl::event_revoker::remove_SoundLevelChanged>; [[nodiscard]] auto SoundLevelChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto SoundLevelChanged(winrt::event_token const& token) const noexcept; [[nodiscard]] auto SoundLevel() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioStateMonitor; }; template struct consume_Windows_Media_Audio_IAudioStateMonitorStatics { auto CreateForRenderMonitoring() const; auto CreateForRenderMonitoring(winrt::Windows::Media::Render::AudioRenderCategory const& category) const; auto CreateForRenderMonitoring(winrt::Windows::Media::Render::AudioRenderCategory const& category, winrt::Windows::Media::Devices::AudioDeviceRole const& role) const; auto CreateForRenderMonitoringWithCategoryAndDeviceId(winrt::Windows::Media::Render::AudioRenderCategory const& category, param::hstring const& deviceId) const; auto CreateForCaptureMonitoring() const; auto CreateForCaptureMonitoring(winrt::Windows::Media::Capture::MediaCategory const& category) const; auto CreateForCaptureMonitoring(winrt::Windows::Media::Capture::MediaCategory const& category, winrt::Windows::Media::Devices::AudioDeviceRole const& role) const; auto CreateForCaptureMonitoringWithCategoryAndDeviceId(winrt::Windows::Media::Capture::MediaCategory const& category, param::hstring const& deviceId) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IAudioStateMonitorStatics; }; template struct consume_Windows_Media_Audio_ICreateAudioDeviceInputNodeResult { [[nodiscard]] auto Status() const; [[nodiscard]] auto DeviceInputNode() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ICreateAudioDeviceInputNodeResult; }; template struct consume_Windows_Media_Audio_ICreateAudioDeviceInputNodeResult2 { [[nodiscard]] auto ExtendedError() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ICreateAudioDeviceInputNodeResult2; }; template struct consume_Windows_Media_Audio_ICreateAudioDeviceOutputNodeResult { [[nodiscard]] auto Status() const; [[nodiscard]] auto DeviceOutputNode() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ICreateAudioDeviceOutputNodeResult; }; template struct consume_Windows_Media_Audio_ICreateAudioDeviceOutputNodeResult2 { [[nodiscard]] auto ExtendedError() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ICreateAudioDeviceOutputNodeResult2; }; template struct consume_Windows_Media_Audio_ICreateAudioFileInputNodeResult { [[nodiscard]] auto Status() const; [[nodiscard]] auto FileInputNode() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ICreateAudioFileInputNodeResult; }; template struct consume_Windows_Media_Audio_ICreateAudioFileInputNodeResult2 { [[nodiscard]] auto ExtendedError() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ICreateAudioFileInputNodeResult2; }; template struct consume_Windows_Media_Audio_ICreateAudioFileOutputNodeResult { [[nodiscard]] auto Status() const; [[nodiscard]] auto FileOutputNode() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ICreateAudioFileOutputNodeResult; }; template struct consume_Windows_Media_Audio_ICreateAudioFileOutputNodeResult2 { [[nodiscard]] auto ExtendedError() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ICreateAudioFileOutputNodeResult2; }; template struct consume_Windows_Media_Audio_ICreateAudioGraphResult { [[nodiscard]] auto Status() const; [[nodiscard]] auto Graph() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ICreateAudioGraphResult; }; template struct consume_Windows_Media_Audio_ICreateAudioGraphResult2 { [[nodiscard]] auto ExtendedError() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ICreateAudioGraphResult2; }; template struct consume_Windows_Media_Audio_ICreateMediaSourceAudioInputNodeResult { [[nodiscard]] auto Status() const; [[nodiscard]] auto Node() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ICreateMediaSourceAudioInputNodeResult; }; template struct consume_Windows_Media_Audio_ICreateMediaSourceAudioInputNodeResult2 { [[nodiscard]] auto ExtendedError() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ICreateMediaSourceAudioInputNodeResult2; }; template struct consume_Windows_Media_Audio_IEchoEffectDefinition { auto WetDryMix(double value) const; [[nodiscard]] auto WetDryMix() const; auto Feedback(double value) const; [[nodiscard]] auto Feedback() const; auto Delay(double value) const; [[nodiscard]] auto Delay() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IEchoEffectDefinition; }; template struct consume_Windows_Media_Audio_IEchoEffectDefinitionFactory { auto Create(winrt::Windows::Media::Audio::AudioGraph const& audioGraph) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IEchoEffectDefinitionFactory; }; template struct consume_Windows_Media_Audio_IEqualizerBand { [[nodiscard]] auto Bandwidth() const; auto Bandwidth(double value) const; [[nodiscard]] auto FrequencyCenter() const; auto FrequencyCenter(double value) const; [[nodiscard]] auto Gain() const; auto Gain(double value) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IEqualizerBand; }; template struct consume_Windows_Media_Audio_IEqualizerEffectDefinition { [[nodiscard]] auto Bands() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IEqualizerEffectDefinition; }; template struct consume_Windows_Media_Audio_IEqualizerEffectDefinitionFactory { auto Create(winrt::Windows::Media::Audio::AudioGraph const& audioGraph) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IEqualizerEffectDefinitionFactory; }; template struct consume_Windows_Media_Audio_IFrameInputNodeQuantumStartedEventArgs { [[nodiscard]] auto RequiredSamples() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IFrameInputNodeQuantumStartedEventArgs; }; template struct consume_Windows_Media_Audio_ILimiterEffectDefinition { auto Release(uint32_t value) const; [[nodiscard]] auto Release() const; auto Loudness(uint32_t value) const; [[nodiscard]] auto Loudness() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ILimiterEffectDefinition; }; template struct consume_Windows_Media_Audio_ILimiterEffectDefinitionFactory { auto Create(winrt::Windows::Media::Audio::AudioGraph const& audioGraph) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ILimiterEffectDefinitionFactory; }; template struct consume_Windows_Media_Audio_IMediaSourceAudioInputNode { auto PlaybackSpeedFactor(double value) const; [[nodiscard]] auto PlaybackSpeedFactor() const; [[nodiscard]] auto Position() const; auto Seek(winrt::Windows::Foundation::TimeSpan const& position) const; [[nodiscard]] auto StartTime() const; auto StartTime(winrt::Windows::Foundation::IReference const& value) const; [[nodiscard]] auto EndTime() const; auto EndTime(winrt::Windows::Foundation::IReference const& value) const; [[nodiscard]] auto LoopCount() const; auto LoopCount(winrt::Windows::Foundation::IReference const& value) const; [[nodiscard]] auto Duration() const; [[nodiscard]] auto MediaSource() const; auto MediaSourceCompleted(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using MediaSourceCompleted_revoker = impl::event_revoker::remove_MediaSourceCompleted>; [[nodiscard]] auto MediaSourceCompleted(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto MediaSourceCompleted(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IMediaSourceAudioInputNode; }; template struct consume_Windows_Media_Audio_IReverbEffectDefinition { auto WetDryMix(double value) const; [[nodiscard]] auto WetDryMix() const; auto ReflectionsDelay(uint32_t value) const; [[nodiscard]] auto ReflectionsDelay() const; auto ReverbDelay(uint8_t value) const; [[nodiscard]] auto ReverbDelay() const; auto RearDelay(uint8_t value) const; [[nodiscard]] auto RearDelay() const; auto PositionLeft(uint8_t value) const; [[nodiscard]] auto PositionLeft() const; auto PositionRight(uint8_t value) const; [[nodiscard]] auto PositionRight() const; auto PositionMatrixLeft(uint8_t value) const; [[nodiscard]] auto PositionMatrixLeft() const; auto PositionMatrixRight(uint8_t value) const; [[nodiscard]] auto PositionMatrixRight() const; auto EarlyDiffusion(uint8_t value) const; [[nodiscard]] auto EarlyDiffusion() const; auto LateDiffusion(uint8_t value) const; [[nodiscard]] auto LateDiffusion() const; auto LowEQGain(uint8_t value) const; [[nodiscard]] auto LowEQGain() const; auto LowEQCutoff(uint8_t value) const; [[nodiscard]] auto LowEQCutoff() const; auto HighEQGain(uint8_t value) const; [[nodiscard]] auto HighEQGain() const; auto HighEQCutoff(uint8_t value) const; [[nodiscard]] auto HighEQCutoff() const; auto RoomFilterFreq(double value) const; [[nodiscard]] auto RoomFilterFreq() const; auto RoomFilterMain(double value) const; [[nodiscard]] auto RoomFilterMain() const; auto RoomFilterHF(double value) const; [[nodiscard]] auto RoomFilterHF() const; auto ReflectionsGain(double value) const; [[nodiscard]] auto ReflectionsGain() const; auto ReverbGain(double value) const; [[nodiscard]] auto ReverbGain() const; auto DecayTime(double value) const; [[nodiscard]] auto DecayTime() const; auto Density(double value) const; [[nodiscard]] auto Density() const; auto RoomSize(double value) const; [[nodiscard]] auto RoomSize() const; auto DisableLateField(bool value) const; [[nodiscard]] auto DisableLateField() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IReverbEffectDefinition; }; template struct consume_Windows_Media_Audio_IReverbEffectDefinitionFactory { auto Create(winrt::Windows::Media::Audio::AudioGraph const& audioGraph) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_IReverbEffectDefinitionFactory; }; template struct consume_Windows_Media_Audio_ISetDefaultSpatialAudioFormatResult { [[nodiscard]] auto Status() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ISetDefaultSpatialAudioFormatResult; }; template struct consume_Windows_Media_Audio_ISpatialAudioDeviceConfiguration { [[nodiscard]] auto DeviceId() const; [[nodiscard]] auto IsSpatialAudioSupported() const; auto IsSpatialAudioFormatSupported(param::hstring const& subtype) const; [[nodiscard]] auto ActiveSpatialAudioFormat() const; [[nodiscard]] auto DefaultSpatialAudioFormat() const; auto SetDefaultSpatialAudioFormatAsync(param::hstring const& subtype) const; auto ConfigurationChanged(winrt::Windows::Foundation::TypedEventHandler const& handler) const; using ConfigurationChanged_revoker = impl::event_revoker::remove_ConfigurationChanged>; [[nodiscard]] auto ConfigurationChanged(auto_revoke_t, winrt::Windows::Foundation::TypedEventHandler const& handler) const; auto ConfigurationChanged(winrt::event_token const& token) const noexcept; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ISpatialAudioDeviceConfiguration; }; template struct consume_Windows_Media_Audio_ISpatialAudioDeviceConfigurationStatics { auto GetForDeviceId(param::hstring const& deviceId) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ISpatialAudioDeviceConfigurationStatics; }; template struct consume_Windows_Media_Audio_ISpatialAudioFormatConfiguration { auto ReportLicenseChangedAsync(param::hstring const& subtype) const; auto ReportConfigurationChangedAsync(param::hstring const& subtype) const; [[nodiscard]] auto MixedRealityExclusiveModePolicy() const; auto MixedRealityExclusiveModePolicy(winrt::Windows::Media::Audio::MixedRealitySpatialAudioFormatPolicy const& value) const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ISpatialAudioFormatConfiguration; }; template struct consume_Windows_Media_Audio_ISpatialAudioFormatConfigurationStatics { auto GetDefault() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ISpatialAudioFormatConfigurationStatics; }; template struct consume_Windows_Media_Audio_ISpatialAudioFormatSubtypeStatics { [[nodiscard]] auto WindowsSonic() const; [[nodiscard]] auto DolbyAtmosForHeadphones() const; [[nodiscard]] auto DolbyAtmosForHomeTheater() const; [[nodiscard]] auto DolbyAtmosForSpeakers() const; [[nodiscard]] auto DTSHeadphoneX() const; [[nodiscard]] auto DTSXUltra() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ISpatialAudioFormatSubtypeStatics; }; template struct consume_Windows_Media_Audio_ISpatialAudioFormatSubtypeStatics2 { [[nodiscard]] auto DTSXForHomeTheater() const; }; template <> struct consume { template using type = consume_Windows_Media_Audio_ISpatialAudioFormatSubtypeStatics2; }; } #endif