-
Media Server v0.2.4
Stablereleased this
2026-05-15 14:50:28 +03:00 | 20 commits to master since this releasev0.2.4 (2026-05-15)
Features
- Displays — DDC/CI picture controls: Monitor cards now expose contrast (slider, same editorial copper treatment as brightness) plus a new "PICTURE TUNING" section with input source, color preset, and picture mode pickers built on the IconSelect widget — HDMI/DisplayPort/DVI/VGA/USB-C glyphs for inputs, thermometer for color temperatures, per-mode icons (movie reel, gamepad, ball, etc.) for picture modes. Backend probes DDC/CI capabilities per monitor at enumeration time and exposes
*_supportedflags so the UI hides rows the hardware doesn't advertise. New endpoints:POST /api/display/{contrast,input_source,color_preset,picture_mode}/{id}. Picture mode uses raw VCP0xDCwith MCCS-spec labels and vendor-friendly fallbacks. 14 new i18n keys per locale (en/ru). (57fdeb7)
Bug Fixes
- Displays — verify DDC/CI writes before reporting success: DDC/CI writes are fire-and-forget at the protocol level — a successful send does not mean the monitor honored the value. A new
_verify_after_sethelper polls readback after every write and reports{success: false}when the monitor silently dropped it (common on LG ultrawides for VCP codes whose registers exist but whose feature isn't really implemented in firmware). Wired intoset_contrast,set_input_source,set_color_preset,set_picture_mode; input source uses a longer settle window since switching can briefly disrupt the DDC/CI link. Picture mode (VCP0xDC) additionally requires the capability string to declare supported codes undercmds[0xDC]— without that declaration we treat the feature as unsupported even when reads succeed (the LG case where reads return a stuck value and every write is silently ignored). (d1f621f)
Development / Internal
Chores
restart-server.ps1— installer vs dev launches: Previously only killed processes namedmedia-server, silently missing the installer-bundled process (which runs as plainpython.exeviamedia-server.bat). The script now kills whatever currently owns the listen port regardless of process name, adds-Mode auto|dev|installerwith auto-detection based on whether the installer launcher exists in%LOCALAPPDATA%\Media Server, verifies the port is listening after start, and merges registry PATH so newly-installed dev tools are visible. (6120625)
All Commits
Hash Message Author 57fdeb7 feat(displays): expose DDC/CI contrast, input source, color preset, picture mode alexei.dolgolyov 6120625 chore(scripts): harden restart-server.ps1 against installer vs dev launches alexei.dolgolyov d1f621f fix(displays): verify DDC/CI writes and trust capability string for picture mode alexei.dolgolyov Downloads
Platform File Windows (installer) MediaServer-v0.2.4-setup.exeWindows (portable) MediaServer-v0.2.4-win-x64.zipLinux MediaServer-v0.2.4-linux-x64.tar.gzDownloads
- Displays — DDC/CI picture controls: Monitor cards now expose contrast (slider, same editorial copper treatment as brightness) plus a new "PICTURE TUNING" section with input source, color preset, and picture mode pickers built on the IconSelect widget — HDMI/DisplayPort/DVI/VGA/USB-C glyphs for inputs, thermometer for color temperatures, per-mode icons (movie reel, gamepad, ball, etc.) for picture modes. Backend probes DDC/CI capabilities per monitor at enumeration time and exposes