// ****************************************************** //
// Generated by scripts\controls.py
// ****************************************************** //
#include "pch.h"
#include "_winui.h"
#include "_winui_converters.h"

PYBIND11_EMBEDDED_MODULE(_winui_Windows_Media_Playback, m) {
    py::enum_<Windows::Media::Playback::MediaPlaybackState>(m, "Windows.Media.Playback.MediaPlaybackState")
        .value("None", Windows::Media::Playback::MediaPlaybackState::None)
        .value("Opening", Windows::Media::Playback::MediaPlaybackState::Opening)
        .value("Buffering", Windows::Media::Playback::MediaPlaybackState::Buffering)
        .value("Playing", Windows::Media::Playback::MediaPlaybackState::Playing)
        .value("Paused", Windows::Media::Playback::MediaPlaybackState::Paused)
    ;

    py::class_<Windows::Media::Playback::MediaPlaybackSession, ::pywinui::holder<Windows::Media::Playback::MediaPlaybackSession>, Windows::Foundation::IInspectable>(m, "Windows.Media.Playback.MediaPlaybackSession")
        .def(py::init([](const ::winrt::Windows::Foundation::IInspectable &unk) { return ::pywinui::hold(unk.as<Windows::Media::Playback::MediaPlaybackSession>()); }))
        .def("__repr__", [](typename cvt<Windows::Media::Playback::MediaPlaybackSession>::cself_t _self) { return cvt<Windows::Media::Playback::MediaPlaybackSession>(_self).repr(); })
        .def_property_readonly("NaturalDuration", [](typename cvt<Windows::Media::Playback::MediaPlaybackSession>::cself_t _self) { return cvt_out(_self.NaturalDuration()); })
        .def_property_readonly("PlaybackState", [](typename cvt<Windows::Media::Playback::MediaPlaybackSession>::cself_t _self) { return cvt_out(_self.PlaybackState()); })
        .def_property_readonly("Position", [](typename cvt<Windows::Media::Playback::MediaPlaybackSession>::cself_t _self) { return cvt_out(_self.Position()); })
    ;
    py::class_<Windows::Media::Playback::MediaPlayer, ::pywinui::holder<Windows::Media::Playback::MediaPlayer>, Windows::Foundation::IInspectable>(m, "Windows.Media.Playback.MediaPlayer")
        .def(py::init([](const ::winrt::Windows::Foundation::IInspectable &unk) { return ::pywinui::hold(unk.as<Windows::Media::Playback::MediaPlayer>()); }))
        .def("__repr__", [](typename cvt<Windows::Media::Playback::MediaPlayer>::cself_t _self) { return cvt<Windows::Media::Playback::MediaPlayer>(_self).repr(); })
        .def_property_readonly("PlaybackSession", [](typename cvt<Windows::Media::Playback::MediaPlayer>::cself_t _self) { return cvt_out(_self.PlaybackSession()); })
        .def("Pause", [](typename cvt<Windows::Media::Playback::MediaPlayer>::self_t _self) {static_assert(ensure_void<decltype(&Windows::Media::Playback::MediaPlayer::Pause)>::value, "return value is not void"); _self.Pause(); })
        .def("Play", [](typename cvt<Windows::Media::Playback::MediaPlayer>::self_t _self) {static_assert(ensure_void<decltype(&Windows::Media::Playback::MediaPlayer::Play)>::value, "return value is not void"); _self.Play(); })
        .def("StepBackwardOneFrame", [](typename cvt<Windows::Media::Playback::MediaPlayer>::self_t _self) {static_assert(ensure_void<decltype(&Windows::Media::Playback::MediaPlayer::StepBackwardOneFrame)>::value, "return value is not void"); _self.StepBackwardOneFrame(); })
        .def("StepForwardOneFrame", [](typename cvt<Windows::Media::Playback::MediaPlayer>::self_t _self) {static_assert(ensure_void<decltype(&Windows::Media::Playback::MediaPlayer::StepForwardOneFrame)>::value, "return value is not void"); _self.StepForwardOneFrame(); })
    ;
}
