// WARNING: Please don't edit this file. It was generated by Python/WinRT v3.2.1

#pragma once

#include "pybase.h"
static_assert(winrt::check_version(PYWINRT_VERSION, "3.2.1"), "Mismatched Py/WinRT headers.");
#include <winrt/Windows.Devices.Enumeration.h>
#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Foundation.Collections.h>
#include <winrt/Windows.Foundation.Numerics.h>
#include <winrt/Windows.Media.h>
#include <winrt/Windows.Media.Capture.h>
#include <winrt/Windows.Media.Core.h>
#include <winrt/Windows.Media.Devices.h>
#include <winrt/Windows.Media.Effects.h>
#include <winrt/Windows.Media.MediaProperties.h>
#include <winrt/Windows.Media.Render.h>
#include <winrt/Windows.Media.Transcoding.h>
#include <winrt/Windows.Storage.h>

#include <winrt/Windows.Media.Audio.h>

namespace py::proj::Windows::Media::Audio
{
}

namespace py
{
    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::AudioDeviceNodeCreationStatus> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::AudioEffectsPackStatus> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::AudioFileNodeCreationStatus> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::AudioGraphCreationStatus> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::AudioGraphUnrecoverableError> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::AudioNodeEmitterDecayKind> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::AudioNodeEmitterSettings> = "I";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::AudioNodeEmitterShapeKind> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::AudioPlaybackConnectionOpenResultStatus> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::AudioPlaybackConnectionState> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::MediaSourceAudioInputNodeCreationStatus> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::MixedRealitySpatialAudioFormatPolicy> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::QuantumSizeSelectionMode> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::SetDefaultSpatialAudioFormatStatus> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Audio::SpatialAudioModel> = "i";


    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioDeviceNodeCreationStatus>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioDeviceNodeCreationStatus";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioDeviceNodeCreationStatus";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioEffectsPackStatus>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioEffectsPackStatus";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioEffectsPackStatus";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioFileNodeCreationStatus>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioFileNodeCreationStatus";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioFileNodeCreationStatus";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioGraphCreationStatus>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioGraphCreationStatus";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioGraphCreationStatus";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioGraphUnrecoverableError>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioGraphUnrecoverableError";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioGraphUnrecoverableError";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioNodeEmitterDecayKind>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioNodeEmitterDecayKind";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioNodeEmitterDecayKind";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioNodeEmitterSettings>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioNodeEmitterSettings";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioNodeEmitterSettings";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioNodeEmitterShapeKind>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioNodeEmitterShapeKind";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioNodeEmitterShapeKind";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioPlaybackConnectionOpenResultStatus>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioPlaybackConnectionOpenResultStatus";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioPlaybackConnectionOpenResultStatus";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioPlaybackConnectionState>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioPlaybackConnectionState";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioPlaybackConnectionState";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::MediaSourceAudioInputNodeCreationStatus>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.MediaSourceAudioInputNodeCreationStatus";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "MediaSourceAudioInputNodeCreationStatus";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::MixedRealitySpatialAudioFormatPolicy>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.MixedRealitySpatialAudioFormatPolicy";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "MixedRealitySpatialAudioFormatPolicy";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::QuantumSizeSelectionMode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.QuantumSizeSelectionMode";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "QuantumSizeSelectionMode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::SetDefaultSpatialAudioFormatStatus>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.SetDefaultSpatialAudioFormatStatus";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "SetDefaultSpatialAudioFormatStatus";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::SpatialAudioModel>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.SpatialAudioModel";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "SpatialAudioModel";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioDeviceInputNode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioDeviceInputNode";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioDeviceInputNode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioDeviceOutputNode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioDeviceOutputNode";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioDeviceOutputNode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioEffectsPackConfiguration>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioEffectsPackConfiguration";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioEffectsPackConfiguration";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioFileInputNode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioFileInputNode";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioFileInputNode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioFileOutputNode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioFileOutputNode";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioFileOutputNode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioFrameCompletedEventArgs>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioFrameCompletedEventArgs";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioFrameCompletedEventArgs";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioFrameInputNode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioFrameInputNode";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioFrameInputNode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioFrameOutputNode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioFrameOutputNode";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioFrameOutputNode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioGraph>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioGraph";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioGraph";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioGraphBatchUpdater>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioGraphBatchUpdater";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioGraphBatchUpdater";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioGraphConnection>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioGraphConnection";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioGraphConnection";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioGraphSettings>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioGraphSettings";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioGraphSettings";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioGraphUnrecoverableErrorOccurredEventArgs>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioGraphUnrecoverableErrorOccurredEventArgs";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioGraphUnrecoverableErrorOccurredEventArgs";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioNodeEmitter>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioNodeEmitter";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioNodeEmitter";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioNodeEmitterConeProperties>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioNodeEmitterConeProperties";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioNodeEmitterConeProperties";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioNodeEmitterDecayModel>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioNodeEmitterDecayModel";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioNodeEmitterDecayModel";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioNodeEmitterNaturalDecayModelProperties>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioNodeEmitterNaturalDecayModelProperties";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioNodeEmitterNaturalDecayModelProperties";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioNodeEmitterShape>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioNodeEmitterShape";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioNodeEmitterShape";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioNodeListener>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioNodeListener";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioNodeListener";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioPlaybackConnection>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioPlaybackConnection";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioPlaybackConnection";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioPlaybackConnectionOpenResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioPlaybackConnectionOpenResult";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioPlaybackConnectionOpenResult";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioStateMonitor>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioStateMonitor";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioStateMonitor";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::AudioSubmixNode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.AudioSubmixNode";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "AudioSubmixNode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::CreateAudioDeviceInputNodeResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.CreateAudioDeviceInputNodeResult";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "CreateAudioDeviceInputNodeResult";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::CreateAudioDeviceOutputNodeResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.CreateAudioDeviceOutputNodeResult";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "CreateAudioDeviceOutputNodeResult";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::CreateAudioFileInputNodeResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.CreateAudioFileInputNodeResult";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "CreateAudioFileInputNodeResult";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::CreateAudioFileOutputNodeResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.CreateAudioFileOutputNodeResult";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "CreateAudioFileOutputNodeResult";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::CreateAudioGraphResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.CreateAudioGraphResult";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "CreateAudioGraphResult";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::CreateMediaSourceAudioInputNodeResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.CreateMediaSourceAudioInputNodeResult";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "CreateMediaSourceAudioInputNodeResult";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::EchoEffectDefinition>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.EchoEffectDefinition";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "EchoEffectDefinition";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::EqualizerBand>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.EqualizerBand";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "EqualizerBand";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::EqualizerEffectDefinition>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.EqualizerEffectDefinition";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "EqualizerEffectDefinition";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::FrameInputNodeQuantumStartedEventArgs>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.FrameInputNodeQuantumStartedEventArgs";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "FrameInputNodeQuantumStartedEventArgs";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::LimiterEffectDefinition>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.LimiterEffectDefinition";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "LimiterEffectDefinition";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::MediaSourceAudioInputNode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.MediaSourceAudioInputNode";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "MediaSourceAudioInputNode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::ReverbEffectDefinition>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.ReverbEffectDefinition";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "ReverbEffectDefinition";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::SetDefaultSpatialAudioFormatResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.SetDefaultSpatialAudioFormatResult";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "SetDefaultSpatialAudioFormatResult";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::SpatialAudioDeviceConfiguration>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.SpatialAudioDeviceConfiguration";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "SpatialAudioDeviceConfiguration";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::SpatialAudioFormatConfiguration>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.SpatialAudioFormatConfiguration";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "SpatialAudioFormatConfiguration";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::SpatialAudioFormatSubtype>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio.SpatialAudioFormatSubtype";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "SpatialAudioFormatSubtype";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::IAudioInputNode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio._IAudioInputNode";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "_IAudioInputNode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::IAudioInputNode2>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio._IAudioInputNode2";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "_IAudioInputNode2";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::IAudioNode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio._IAudioNode";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "_IAudioNode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Audio::IAudioNodeWithListener>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.audio._IAudioNodeWithListener";
        static constexpr const char* module_name = "winrt.windows.media.audio";
        static constexpr const char* type_name = "_IAudioNodeWithListener";
    };
}

#if __has_include("py.Windows.Devices.Enumeration.h")
#include "py.Windows.Devices.Enumeration.h"
#endif

#if __has_include("py.Windows.Foundation.h")
#include "py.Windows.Foundation.h"
#endif

#if __has_include("py.Windows.Foundation.Collections.h")
#include "py.Windows.Foundation.Collections.h"
#endif

#if __has_include("py.Windows.Foundation.Numerics.h")
#include "py.Windows.Foundation.Numerics.h"
#endif

#if __has_include("py.Windows.Media.h")
#include "py.Windows.Media.h"
#endif

#if __has_include("py.Windows.Media.Capture.h")
#include "py.Windows.Media.Capture.h"
#endif

#if __has_include("py.Windows.Media.Core.h")
#include "py.Windows.Media.Core.h"
#endif

#if __has_include("py.Windows.Media.Devices.h")
#include "py.Windows.Media.Devices.h"
#endif

#if __has_include("py.Windows.Media.Effects.h")
#include "py.Windows.Media.Effects.h"
#endif

#if __has_include("py.Windows.Media.MediaProperties.h")
#include "py.Windows.Media.MediaProperties.h"
#endif

#if __has_include("py.Windows.Media.Render.h")
#include "py.Windows.Media.Render.h"
#endif

#if __has_include("py.Windows.Media.Transcoding.h")
#include "py.Windows.Media.Transcoding.h"
#endif

#if __has_include("py.Windows.Storage.h")
#include "py.Windows.Storage.h"
#endif

namespace py::impl::Windows::Media::Audio
{
}

namespace py::wrapper::Windows::Media::Audio
{
    using AudioDeviceInputNode = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioDeviceInputNode>;
    using AudioDeviceOutputNode = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioDeviceOutputNode>;
    using AudioEffectsPackConfiguration = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioEffectsPackConfiguration>;
    using AudioFileInputNode = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioFileInputNode>;
    using AudioFileOutputNode = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioFileOutputNode>;
    using AudioFrameCompletedEventArgs = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioFrameCompletedEventArgs>;
    using AudioFrameInputNode = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioFrameInputNode>;
    using AudioFrameOutputNode = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioFrameOutputNode>;
    using AudioGraph = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioGraph>;
    using AudioGraphBatchUpdater = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioGraphBatchUpdater>;
    using AudioGraphConnection = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioGraphConnection>;
    using AudioGraphSettings = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioGraphSettings>;
    using AudioGraphUnrecoverableErrorOccurredEventArgs = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioGraphUnrecoverableErrorOccurredEventArgs>;
    using AudioNodeEmitter = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioNodeEmitter>;
    using AudioNodeEmitterConeProperties = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioNodeEmitterConeProperties>;
    using AudioNodeEmitterDecayModel = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioNodeEmitterDecayModel>;
    using AudioNodeEmitterNaturalDecayModelProperties = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioNodeEmitterNaturalDecayModelProperties>;
    using AudioNodeEmitterShape = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioNodeEmitterShape>;
    using AudioNodeListener = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioNodeListener>;
    using AudioPlaybackConnection = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioPlaybackConnection>;
    using AudioPlaybackConnectionOpenResult = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioPlaybackConnectionOpenResult>;
    using AudioStateMonitor = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioStateMonitor>;
    using AudioSubmixNode = py::winrt_wrapper<winrt::Windows::Media::Audio::AudioSubmixNode>;
    using CreateAudioDeviceInputNodeResult = py::winrt_wrapper<winrt::Windows::Media::Audio::CreateAudioDeviceInputNodeResult>;
    using CreateAudioDeviceOutputNodeResult = py::winrt_wrapper<winrt::Windows::Media::Audio::CreateAudioDeviceOutputNodeResult>;
    using CreateAudioFileInputNodeResult = py::winrt_wrapper<winrt::Windows::Media::Audio::CreateAudioFileInputNodeResult>;
    using CreateAudioFileOutputNodeResult = py::winrt_wrapper<winrt::Windows::Media::Audio::CreateAudioFileOutputNodeResult>;
    using CreateAudioGraphResult = py::winrt_wrapper<winrt::Windows::Media::Audio::CreateAudioGraphResult>;
    using CreateMediaSourceAudioInputNodeResult = py::winrt_wrapper<winrt::Windows::Media::Audio::CreateMediaSourceAudioInputNodeResult>;
    using EchoEffectDefinition = py::winrt_wrapper<winrt::Windows::Media::Audio::EchoEffectDefinition>;
    using EqualizerBand = py::winrt_wrapper<winrt::Windows::Media::Audio::EqualizerBand>;
    using EqualizerEffectDefinition = py::winrt_wrapper<winrt::Windows::Media::Audio::EqualizerEffectDefinition>;
    using FrameInputNodeQuantumStartedEventArgs = py::winrt_wrapper<winrt::Windows::Media::Audio::FrameInputNodeQuantumStartedEventArgs>;
    using LimiterEffectDefinition = py::winrt_wrapper<winrt::Windows::Media::Audio::LimiterEffectDefinition>;
    using MediaSourceAudioInputNode = py::winrt_wrapper<winrt::Windows::Media::Audio::MediaSourceAudioInputNode>;
    using ReverbEffectDefinition = py::winrt_wrapper<winrt::Windows::Media::Audio::ReverbEffectDefinition>;
    using SetDefaultSpatialAudioFormatResult = py::winrt_wrapper<winrt::Windows::Media::Audio::SetDefaultSpatialAudioFormatResult>;
    using SpatialAudioDeviceConfiguration = py::winrt_wrapper<winrt::Windows::Media::Audio::SpatialAudioDeviceConfiguration>;
    using SpatialAudioFormatConfiguration = py::winrt_wrapper<winrt::Windows::Media::Audio::SpatialAudioFormatConfiguration>;
    using SpatialAudioFormatSubtype = py::winrt_wrapper<winrt::Windows::Media::Audio::SpatialAudioFormatSubtype>;
    using IAudioInputNode = py::winrt_wrapper<winrt::Windows::Media::Audio::IAudioInputNode>;
    using IAudioInputNode2 = py::winrt_wrapper<winrt::Windows::Media::Audio::IAudioInputNode2>;
    using IAudioNode = py::winrt_wrapper<winrt::Windows::Media::Audio::IAudioNode>;
    using IAudioNodeWithListener = py::winrt_wrapper<winrt::Windows::Media::Audio::IAudioNodeWithListener>;
}

namespace py
{
}
