Initial commit: Media Server for remote media control

FastAPI REST API server for controlling system-wide media playback
on Windows, Linux, macOS, and Android.

Features:
- Play/Pause/Stop/Next/Previous track controls
- Volume control and mute
- Seek within tracks
- Current track info (title, artist, album, artwork)
- WebSocket real-time status updates
- Script execution API
- Token-based authentication
- Cross-platform support

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-04 14:41:00 +03:00
commit 83acf5f1ec
26 changed files with 3562 additions and 0 deletions

28
requirements.txt Normal file
View File

@@ -0,0 +1,28 @@
# Core dependencies
fastapi>=0.109.0
uvicorn[standard]>=0.27.0
pydantic>=2.0
pydantic-settings>=2.0
pyyaml>=6.0
# Windows media control (install on Windows only)
# pip install winsdk pywin32 pycaw comtypes
winsdk>=1.0.0b10; sys_platform == "win32"
pywin32>=306; sys_platform == "win32"
comtypes>=1.2.0; sys_platform == "win32"
pycaw>=20230407; sys_platform == "win32"
# Linux media control (install on Linux only)
# pip install dbus-python PyGObject
# Note: dbus-python requires system dependencies:
# sudo apt-get install libdbus-1-dev libglib2.0-dev python3-gi
# dbus-python>=1.3.2; sys_platform == "linux"
# PyGObject>=3.46.0; sys_platform == "linux"
# macOS media control
# No additional dependencies needed - uses osascript (AppleScript)
# Android media control (via Termux)
# Requires Termux and Termux:API apps from F-Droid
# In Termux: pkg install python termux-api
# No additional pip packages needed