"""Windows SMTC-Implementierung via pywinrt.""" import logging from typing import Any logger = logging.getLogger(__name__) class SmtcController: def __init__(self) -> None: self._paused: list[str] = [] self._manager: Any = None self._broken: bool = False async def _ensure_manager(self) -> Any: if self._broken: raise RuntimeError("SMTC nicht verfügbar") if self._manager is None: from winrt.windows.media.control import ( GlobalSystemMediaTransportControlsSessionManager, ) self._manager = ( await GlobalSystemMediaTransportControlsSessionManager.request_async() ) return self._manager async def pause(self) -> None: if self._broken: self._paused = [] return try: await self._ensure_manager() except Exception as e: logger.warning( "SMTC nicht erreichbar, Media-Pause dauerhaft deaktiviert: %s", e ) self._broken = True self._paused = [] return async def resume(self) -> None: pass