GNU bug report logs - #78597
[PATCH 0/2] Update mpv configuration

Previous Next

Package: guix-patches;

Reported by: Tomas Volf <~@wolfsden.cz>

Date: Mon, 26 May 2025 21:17:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

To reply to this bug, email your comments to 78597 AT debbugs.gnu.org.
There is no need to reopen the bug first.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to andrew <at> trop.in, gabriel <at> erlikon.ch, hako <at> ultrarare.space, janneke <at> gnu.org, ludo <at> gnu.org, maxim.cournoyer <at> gmail.com, tanguy <at> bioneland.org, guix-patches <at> gnu.org:
bug#78597; Package guix-patches. (Mon, 26 May 2025 21:17:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tomas Volf <~@wolfsden.cz>:
New bug report received and forwarded. Copy sent to andrew <at> trop.in, gabriel <at> erlikon.ch, hako <at> ultrarare.space, janneke <at> gnu.org, ludo <at> gnu.org, maxim.cournoyer <at> gmail.com, tanguy <at> bioneland.org, guix-patches <at> gnu.org. (Mon, 26 May 2025 21:17:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: guix-patches <at> gnu.org
Cc: Tomas Volf <~@wolfsden.cz>
Subject: [PATCH 0/2] Update mpv configuration
Date: Mon, 26 May 2025 23:16:28 +0200
Tomas Volf (2):
  home-mpv-configuration: Update for mpv 0.40.0.
  home-mpv-configuration: Support file-like for file fields.

 doc/guix.texi             | 196 +++++++++++++++++----------------
 gnu/home/services/mpv.scm | 225 ++++++++++++++++++++++----------------
 2 files changed, 228 insertions(+), 193 deletions(-)

--
2.49.0




Information forwarded to andrew <at> trop.in, gabriel <at> erlikon.ch, hako <at> ultrarare.space, janneke <at> gnu.org, ludo <at> gnu.org, maxim.cournoyer <at> gmail.com, tanguy <at> bioneland.org, guix-patches <at> gnu.org:
bug#78597; Package guix-patches. (Mon, 26 May 2025 21:20:01 GMT) Full text and rfc822 format available.

Message #8 received at 78597 <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: 78597 <at> debbugs.gnu.org
Cc: Tomas Volf <~@wolfsden.cz>
Subject: [PATCH 1/2] home-mpv-configuration: Update for mpv 0.40.0.
Date: Mon, 26 May 2025 23:19:01 +0200
* gnu/home/services/mpv.scm (audio-backward-batch, clipboard-backends)
(clipboard-monitor?, demuxer-mkv-crop-compat?, hwdec-software-fallback)
(input-ime?, load-commands?, load-console?, load-positioning?)
(osd-bar-marker-min-size, osd-bar-marker-scale, osd-bar-marker-style)
(osd-selected-color, osd-selected-outline-color, playlist-exts)
(save-watch-history?, sub-ass-prune-delay, sub-ass-scale-with-window?)
(sub-hinting, sub-line-spacing, sub-scale-signs?, sub-shaper, video-recenter?)
(watch-history-path, wayland-internal-vsync): New options.
(cache-pause-wait, video-aspect-override): Change range.
(dvbin-timeout, media-controls, target-colorspace-hint): Change type.
(video-aspect-method): Add enumeration member.
(drm-connector, drm-device, drm-draw-plane, drm-draw-surface-size)
(drm-drmprime-video-plane, drm-format, drm-mode, drm-vrr-enabled)
(load-osd-console?, sub-ass-hinting, sub-ass-line-spacing)
(sub-ass-scale-with-window?, sub-ass-shaper)
(vd-lavc-software-fallback): Removed options.
* doc/guix.texi: Update the list of fields.

Change-Id: I7e55b306104c235d165ab138397b767f1af5c124
---
 doc/guix.texi             | 193 +++++++++++++++++++-------------------
 gnu/home/services/mpv.scm | 133 ++++++++++++++------------
 2 files changed, 172 insertions(+), 154 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index d69e6ed215..40a1bddf52 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -51156,7 +51156,7 @@ mpv Media Player
 @code{ao-null-buffer}, @code{ao-null-channel-layouts},
 @code{ao-null-format}, @code{ao-null-latency}, @code{ao-null-outburst},
 @code{ao-null-speed}, @code{ao-null-untimed?}, @code{ao-pcm-append?},
-@code{ao-pcm-file}, @code{ao-pcm-waveheader?},
+@code{ao-pcm-file}, @code{ao-pcm-waveheader?}, @code{archive-exts},
 @code{audio-backward-batch}, @code{audio-backward-overlap},
 @code{audio-buffer}, @code{audio-channels}, @code{audio-client-name},
 @code{audio-delay}, @code{audio-demuxer}, @code{audio-device},
@@ -51181,18 +51181,19 @@ mpv Media Player
 @code{cdda-sector-size}, @code{cdda-skip?}, @code{cdda-span-a},
 @code{cdda-span-b}, @code{cdda-speed}, @code{cdda-toc-offset},
 @code{chapter-merge-threshold}, @code{chapter-seek-threshold},
-@code{chapters-file}, @code{config?}, @code{container-fps-override},
-@code{contrast}, @code{cookies?}, @code{cookies-file},
-@code{corner-rounding}, @code{correct-downscaling?},
-@code{correct-pts?}, @code{cover-art-auto}, @code{cover-art-files},
-@code{cover-art-whitelist}, @code{cscale}, @code{cscale-antiring},
-@code{cscale-blur}, @code{cscale-clamp}, @code{cscale-param1},
-@code{cscale-param2}, @code{cscale-radius}, @code{cscale-taper},
-@code{cscale-window}, @code{cscale-wparam}, @code{cscale-wtaper},
-@code{cursor-autohide}, @code{cursor-autohide-fs-only?}, @code{deband?},
-@code{deband-grain}, @code{deband-iterations}, @code{deband-range},
-@code{deband-threshold}, @code{deinterlace},
-@code{deinterlace-field-parity}, @code{demuxer},
+@code{chapters-file}, @code{clipboard-backends},
+@code{clipboard-monitor?}, @code{config?},
+@code{container-fps-override}, @code{contrast}, @code{cookies?},
+@code{cookies-file}, @code{corner-rounding},
+@code{correct-downscaling?}, @code{correct-pts?}, @code{cover-art-auto},
+@code{cover-art-files}, @code{cover-art-whitelist}, @code{cscale},
+@code{cscale-antiring}, @code{cscale-blur}, @code{cscale-clamp},
+@code{cscale-param1}, @code{cscale-param2}, @code{cscale-radius},
+@code{cscale-taper}, @code{cscale-window}, @code{cscale-wparam},
+@code{cscale-wtaper}, @code{cursor-autohide},
+@code{cursor-autohide-fs-only?}, @code{deband?}, @code{deband-grain},
+@code{deband-iterations}, @code{deband-range}, @code{deband-threshold},
+@code{deinterlace}, @code{deinterlace-field-parity}, @code{demuxer},
 @code{demuxer-backward-playback-step}, @code{demuxer-cache-dir},
 @code{demuxer-cache-unlink-files}, @code{demuxer-cache-wait?},
 @code{demuxer-donate-buffer?}, @code{demuxer-hysteresis-secs},
@@ -51203,7 +51204,7 @@ mpv Media Player
 @code{demuxer-lavf-probe-info}, @code{demuxer-lavf-probescore},
 @code{demuxer-lavf-probesize}, @code{demuxer-lavf-propagate-opts?},
 @code{demuxer-max-back-bytes}, @code{demuxer-max-bytes},
-@code{demuxer-mkv-probe-start-time?},
+@code{demuxer-mkv-crop-compat?}, @code{demuxer-mkv-probe-start-time?},
 @code{demuxer-mkv-probe-video-duration},
 @code{demuxer-mkv-subtitle-preroll},
 @code{demuxer-mkv-subtitle-preroll-secs},
@@ -51218,9 +51219,6 @@ mpv Media Player
 @code{directory-filter-types}, @code{directory-mode},
 @code{display-fps-override}, @code{display-tags}, @code{dither},
 @code{dither-depth}, @code{dither-size-fruit}, @code{drag-and-drop},
-@code{drm-connector}, @code{drm-device}, @code{drm-draw-plane},
-@code{drm-draw-surface-size}, @code{drm-drmprime-video-plane},
-@code{drm-format}, @code{drm-mode}, @code{drm-vrr-enabled},
 @code{dscale}, @code{dscale-antiring}, @code{dscale-blur},
 @code{dscale-clamp}, @code{dscale-param1}, @code{dscale-param2},
 @code{dscale-radius}, @code{dscale-taper}, @code{dscale-window},
@@ -51249,10 +51247,11 @@ mpv Media Player
 @code{hr-seek-demuxer-offset}, @code{hr-seek-framedrop?},
 @code{http-header-fields}, @code{http-proxy}, @code{hue}, @code{hwdec},
 @code{hwdec-codecs}, @code{hwdec-extra-frames},
-@code{hwdec-image-format}, @code{icc-3dlut-size}, @code{icc-cache?},
-@code{icc-cache-dir}, @code{icc-force-contrast}, @code{icc-intent},
-@code{icc-profile}, @code{icc-profile-auto?}, @code{icc-use-luma?},
-@code{idle}, @code{ignore-path-in-watch-later-config?},
+@code{hwdec-image-format}, @code{hwdec-software-fallback},
+@code{icc-3dlut-size}, @code{icc-cache?}, @code{icc-cache-dir},
+@code{icc-force-contrast}, @code{icc-intent}, @code{icc-profile},
+@code{icc-profile-auto?}, @code{icc-use-luma?}, @code{idle},
+@code{ignore-path-in-watch-later-config?},
 @code{image-display-duration}, @code{image-exts}, @code{image-lut},
 @code{image-lut-type}, @code{image-subs-video-resolution?},
 @code{include}, @code{index}, @code{initial-audio-sync?},
@@ -51261,7 +51260,7 @@ mpv Media Player
 @code{input-commands}, @code{input-conf}, @code{input-cursor?},
 @code{input-cursor-passthrough?}, @code{input-default-bindings?},
 @code{input-doubleclick-time}, @code{input-dragging-deadzone},
-@code{input-ipc-client}, @code{input-ipc-server},
+@code{input-ime?}, @code{input-ipc-client}, @code{input-ipc-server},
 @code{input-key-fifo-size}, @code{input-media-keys?},
 @code{input-preprocess-wheel?}, @code{input-right-alt-gr?},
 @code{input-terminal?}, @code{input-test?},
@@ -51273,42 +51272,45 @@ mpv Media Player
 @code{keep-open-pause?}, @code{keepaspect?}, @code{keepaspect-window?},
 @code{lavfi-complex}, @code{length}, @code{libplacebo-opts},
 @code{linear-downscaling?}, @code{linear-upscaling?},
-@code{load-auto-profiles}, @code{load-osd-console?},
-@code{load-scripts?}, @code{load-select?}, @code{load-stats-overlay?},
-@code{load-unsafe-playlists?}, @code{log-file}, @code{loop-file},
-@code{loop-playlist}, @code{lut}, @code{lut-type}, @code{mc},
-@code{media-controls}, @code{merge-files?}, @code{metadata-codepage},
-@code{mf-fps}, @code{mf-type}, @code{monitoraspect},
-@code{monitorpixelaspect}, @code{msg-color?}, @code{msg-level},
-@code{msg-module?}, @code{msg-time?}, @code{mute?}, @code{native-fs?},
-@code{native-keyrepeat?}, @code{native-touch?}, @code{network-timeout},
-@code{oac}, @code{oacopts}, @code{ocopy-metadata?}, @code{of},
-@code{ofopts}, @code{on-all-workspaces?}, @code{ontop?},
-@code{ontop-level}, @code{opengl-check-pattern-a},
-@code{opengl-check-pattern-b}, @code{opengl-early-flush},
-@code{opengl-es}, @code{opengl-glfinish?}, @code{opengl-pbo?},
-@code{opengl-rectangle-textures?}, @code{opengl-swapinterval},
-@code{opengl-waitvsync?}, @code{orawts?}, @code{ordered-chapters?},
-@code{ordered-chapters-files}, @code{oremove-metadata}, @code{osc?},
-@code{osd-align-x}, @code{osd-align-y}, @code{osd-back-color},
-@code{osd-bar?}, @code{osd-bar-align-x}, @code{osd-bar-align-y},
-@code{osd-bar-h}, @code{osd-bar-outline-size}, @code{osd-bar-w},
-@code{osd-blur}, @code{osd-bold?}, @code{osd-border-style},
-@code{osd-color}, @code{osd-duration}, @code{osd-font},
-@code{osd-font-provider}, @code{osd-font-size}, @code{osd-fonts-dir},
-@code{osd-fractions?}, @code{osd-italic?}, @code{osd-justify},
-@code{osd-level}, @code{osd-margin-x}, @code{osd-margin-y},
-@code{osd-msg1}, @code{osd-msg2}, @code{osd-msg3}, @code{osd-on-seek},
-@code{osd-outline-color}, @code{osd-outline-size},
+@code{load-auto-profiles}, @code{load-commands?}, @code{load-console?},
+@code{load-positioning?}, @code{load-scripts?}, @code{load-select?},
+@code{load-stats-overlay?}, @code{load-unsafe-playlists?},
+@code{log-file}, @code{loop-file}, @code{loop-playlist}, @code{lut},
+@code{lut-type}, @code{mc}, @code{media-controls?}, @code{merge-files?},
+@code{metadata-codepage}, @code{mf-fps}, @code{mf-type},
+@code{monitoraspect}, @code{monitorpixelaspect}, @code{msg-color?},
+@code{msg-level}, @code{msg-module?}, @code{msg-time?}, @code{mute?},
+@code{native-fs?}, @code{native-keyrepeat?}, @code{native-touch?},
+@code{network-timeout}, @code{oac}, @code{oacopts},
+@code{ocopy-metadata?}, @code{of}, @code{ofopts},
+@code{on-all-workspaces?}, @code{ontop?}, @code{ontop-level},
+@code{opengl-check-pattern-a}, @code{opengl-check-pattern-b},
+@code{opengl-early-flush}, @code{opengl-es}, @code{opengl-glfinish?},
+@code{opengl-pbo?}, @code{opengl-rectangle-textures?},
+@code{opengl-swapinterval}, @code{opengl-waitvsync?}, @code{orawts?},
+@code{ordered-chapters?}, @code{ordered-chapters-files},
+@code{oremove-metadata}, @code{osc?}, @code{osd-align-x},
+@code{osd-align-y}, @code{osd-back-color}, @code{osd-bar?},
+@code{osd-bar-align-x}, @code{osd-bar-align-y}, @code{osd-bar-h},
+@code{osd-bar-marker-min-size}, @code{osd-bar-marker-scale},
+@code{osd-bar-marker-style}, @code{osd-bar-outline-size},
+@code{osd-bar-w}, @code{osd-blur}, @code{osd-bold?},
+@code{osd-border-style}, @code{osd-color}, @code{osd-duration},
+@code{osd-font}, @code{osd-font-provider}, @code{osd-font-size},
+@code{osd-fonts-dir}, @code{osd-fractions?}, @code{osd-italic?},
+@code{osd-justify}, @code{osd-level}, @code{osd-margin-x},
+@code{osd-margin-y}, @code{osd-msg1}, @code{osd-msg2}, @code{osd-msg3},
+@code{osd-on-seek}, @code{osd-outline-color}, @code{osd-outline-size},
 @code{osd-playing-msg}, @code{osd-playing-msg-duration},
 @code{osd-playlist-entry}, @code{osd-scale},
-@code{osd-scale-by-window?}, @code{osd-shadow-offset},
+@code{osd-scale-by-window?}, @code{osd-selected-color},
+@code{osd-selected-outline-color}, @code{osd-shadow-offset},
 @code{osd-spacing}, @code{osd-status-msg}, @code{oset-metadata},
 @code{ovc}, @code{ovcopts}, @code{panscan}, @code{pause?},
 @code{pipewire-buffer}, @code{pipewire-remote},
 @code{pipewire-volume-mode}, @code{pitch}, @code{play-direction},
-@code{player-operation-mode}, @code{playlist-start},
-@code{prefetch-playlist?}, @code{profile},
+@code{player-operation-mode}, @code{playlist-exts},
+@code{playlist-start}, @code{prefetch-playlist?}, @code{profile},
 @code{pulse-allow-suspended?}, @code{pulse-buffer}, @code{pulse-host},
 @code{pulse-latency-hacks?}, @code{quiet?}, @code{really-quiet?},
 @code{rebase-start-time?}, @code{referrer}, @code{replaygain},
@@ -51316,24 +51318,24 @@ mpv Media Player
 @code{replaygain-preamp}, @code{reset-on-next-file},
 @code{resume-playback?}, @code{resume-playback-check-mtime?},
 @code{rtsp-transport}, @code{saturation}, @code{save-position-on-quit?},
-@code{scale}, @code{scale-antiring}, @code{scale-blur},
-@code{scale-clamp}, @code{scale-param1}, @code{scale-param2},
-@code{scale-radius}, @code{scale-taper}, @code{scale-window},
-@code{scale-wparam}, @code{scale-wtaper}, @code{scaler-resizes-only?},
-@code{screen}, @code{screen-name}, @code{screenshot-avif-encoder},
-@code{screenshot-avif-opts}, @code{screenshot-avif-pixfmt},
-@code{screenshot-directory}, @code{screenshot-format},
-@code{screenshot-high-bit-depth?}, @code{screenshot-jpeg-quality},
-@code{screenshot-jpeg-source-chroma?}, @code{screenshot-jxl-distance},
-@code{screenshot-jxl-effort}, @code{screenshot-png-compression},
-@code{screenshot-png-filter}, @code{screenshot-sw?},
-@code{screenshot-tag-colorspace?}, @code{screenshot-template},
-@code{screenshot-webp-compression}, @code{screenshot-webp-lossless?},
-@code{screenshot-webp-quality}, @code{script-opts}, @code{scripts},
-@code{secondary-sid}, @code{secondary-sub-ass-override},
-@code{secondary-sub-delay}, @code{secondary-sub-pos},
-@code{secondary-sub-visibility?}, @code{sharpen},
-@code{show-in-taskbar?}, @code{shuffle?}, @code{sub},
+@code{save-watch-history?}, @code{scale}, @code{scale-antiring},
+@code{scale-blur}, @code{scale-clamp}, @code{scale-param1},
+@code{scale-param2}, @code{scale-radius}, @code{scale-taper},
+@code{scale-window}, @code{scale-wparam}, @code{scale-wtaper},
+@code{scaler-resizes-only?}, @code{screen}, @code{screen-name},
+@code{screenshot-avif-encoder}, @code{screenshot-avif-opts},
+@code{screenshot-avif-pixfmt}, @code{screenshot-directory},
+@code{screenshot-format}, @code{screenshot-high-bit-depth?},
+@code{screenshot-jpeg-quality}, @code{screenshot-jpeg-source-chroma?},
+@code{screenshot-jxl-distance}, @code{screenshot-jxl-effort},
+@code{screenshot-png-compression}, @code{screenshot-png-filter},
+@code{screenshot-sw?}, @code{screenshot-tag-colorspace?},
+@code{screenshot-template}, @code{screenshot-webp-compression},
+@code{screenshot-webp-lossless?}, @code{screenshot-webp-quality},
+@code{script-opts}, @code{scripts}, @code{secondary-sid},
+@code{secondary-sub-ass-override}, @code{secondary-sub-delay},
+@code{secondary-sub-pos}, @code{secondary-sub-visibility?},
+@code{sharpen}, @code{show-in-taskbar?}, @code{shuffle?}, @code{sub},
 @code{sigmoid-center}, @code{sigmoid-slope}, @code{sigmoid-upscaling?},
 @code{slang}, @code{snap-window?}, @code{speed}, @code{spirv-compiler},
 @code{sstep}, @code{start}, @code{stop-playback-on-init-failure?},
@@ -51341,9 +51343,8 @@ mpv Media Player
 @code{stream-lavf-o}, @code{stream-record}, @code{stretch-dvd-subs?},
 @code{stretch-image-subs-to-screen?}, @code{sub-align-x},
 @code{sub-align-y}, @code{sub-ass?}, @code{sub-ass-force-margins?},
-@code{sub-ass-hinting}, @code{sub-ass-justify?},
-@code{sub-ass-line-spacing}, @code{sub-ass-override},
-@code{sub-ass-scale-with-window?}, @code{sub-ass-shaper},
+@code{sub-ass-justify?}, @code{sub-ass-override},
+@code{sub-ass-prune-delay}, @code{sub-ass-scale-with-window?},
 @code{sub-ass-style-overrides}, @code{sub-ass-styles},
 @code{sub-ass-use-video-data}, @code{sub-ass-video-aspect-override},
 @code{sub-ass-vsfilter-color-compat}, @code{sub-auto},
@@ -51358,12 +51359,13 @@ mpv Media Player
 @code{sub-fix-timing?}, @code{sub-font}, @code{sub-font-provider},
 @code{sub-font-size}, @code{sub-fonts-dir},
 @code{sub-forced-events-only?}, @code{sub-fps}, @code{sub-gauss},
-@code{sub-gray?}, @code{sub-italic?}, @code{sub-justify},
-@code{sub-lavc-o}, @code{sub-margin-x}, @code{sub-margin-y},
-@code{sub-outline-color}, @code{sub-outline-size},
-@code{sub-past-video-end?}, @code{sub-pos}, @code{sub-scale},
-@code{sub-scale-by-window?}, @code{sub-scale-with-window?},
-@code{sub-shadow-offset}, @code{sub-spacing}, @code{sub-speed},
+@code{sub-gray?}, @code{sub-hinting}, @code{sub-italic?},
+@code{sub-justify}, @code{sub-lavc-o}, @code{sub-line-spacing},
+@code{sub-margin-x}, @code{sub-margin-y}, @code{sub-outline-color},
+@code{sub-outline-size}, @code{sub-past-video-end?}, @code{sub-pos},
+@code{sub-scale}, @code{sub-scale-by-window?}, @code{sub-scale-signs?},
+@code{sub-scale-with-window?}, @code{sub-shadow-offset},
+@code{sub-shaper}, @code{sub-spacing}, @code{sub-speed},
 @code{sub-stretch-durations?}, @code{sub-use-margins?},
 @code{sub-visibility?}, @code{sub-vsfilter-bidi-compat?},
 @code{subs-fallback}, @code{subs-fallback-forced},
@@ -51371,7 +51373,7 @@ mpv Media Player
 @code{swapchain-depth}, @code{sws-allow-zimg?}, @code{sws-bitexact?},
 @code{sws-cgb}, @code{sws-chs}, @code{sws-cs}, @code{sws-cvs},
 @code{sws-fast?}, @code{sws-lgb}, @code{sws-ls}, @code{sws-scaler},
-@code{target-colorspace-hint?}, @code{target-contrast},
+@code{target-colorspace-hint}, @code{target-contrast},
 @code{target-gamut}, @code{target-lut}, @code{target-peak},
 @code{target-prim}, @code{target-trc}, @code{taskbar-progress?},
 @code{teletext-page}, @code{temporal-dither?},
@@ -51393,17 +51395,17 @@ mpv Media Player
 @code{vd-lavc-dr}, @code{vd-lavc-fast?}, @code{vd-lavc-film-grain},
 @code{vd-lavc-framedrop}, @code{vd-lavc-o}, @code{vd-lavc-show-all?},
 @code{vd-lavc-skipframe}, @code{vd-lavc-skipidct},
-@code{vd-lavc-skiploopfilter}, @code{vd-lavc-software-fallback},
-@code{vd-lavc-threads}, @code{vd-queue-enable?},
-@code{vd-queue-max-bytes}, @code{vd-queue-max-samples},
-@code{vd-queue-max-secs}, @code{vf}, @code{video}, @code{video-align-x},
-@code{video-align-y}, @code{video-aspect-method},
-@code{video-aspect-override}, @code{video-backward-batch},
-@code{video-backward-overlap}, @code{video-crop}, @code{video-exts},
-@code{video-latency-hacks?}, @code{video-margin-ratio-bottom},
-@code{video-margin-ratio-left}, @code{video-margin-ratio-right},
-@code{video-margin-ratio-top}, @code{video-osd?},
-@code{video-output-levels}, @code{video-pan-x}, @code{video-pan-y},
+@code{vd-lavc-skiploopfilter}, @code{vd-lavc-threads},
+@code{vd-queue-enable?}, @code{vd-queue-max-bytes},
+@code{vd-queue-max-samples}, @code{vd-queue-max-secs}, @code{vf},
+@code{video}, @code{video-align-x}, @code{video-align-y},
+@code{video-aspect-method}, @code{video-aspect-override},
+@code{video-backward-batch}, @code{video-backward-overlap},
+@code{video-crop}, @code{video-exts}, @code{video-latency-hacks?},
+@code{video-margin-ratio-bottom}, @code{video-margin-ratio-left},
+@code{video-margin-ratio-right}, @code{video-margin-ratio-top},
+@code{video-osd?}, @code{video-output-levels}, @code{video-pan-x},
+@code{video-pan-y}, @code{video-recenter?},
 @code{video-reversal-buffer}, @code{video-rotate}, @code{video-scale-x},
 @code{video-scale-y}, @code{video-sync},
 @code{video-sync-max-audio-change}, @code{video-sync-max-factor},
@@ -51441,10 +51443,11 @@ mpv Media Player
 @code{vulkan-device}, @code{vulkan-display-display},
 @code{vulkan-display-mode}, @code{vulkan-display-plane},
 @code{vulkan-queue-count}, @code{vulkan-swap-mode},
-@code{watch-later-directory}, @code{watch-later-options},
-@code{wayland-app-id}, @code{wayland-configure-bounds},
-@code{wayland-content-type}, @code{wayland-disable-vsync?},
-@code{wayland-edge-pixels-pointer}, @code{wayland-edge-pixels-touch},
+@code{watch-history-path}, @code{watch-later-directory},
+@code{watch-later-options}, @code{wayland-app-id},
+@code{wayland-configure-bounds}, @code{wayland-content-type},
+@code{wayland-disable-vsync?}, @code{wayland-edge-pixels-pointer},
+@code{wayland-edge-pixels-touch}, @code{wayland-internal-vsync},
 @code{wayland-present?}, @code{wid}, @code{window-dragging?},
 @code{window-maximized?}, @code{window-minimized?}, @code{window-scale},
 @code{write-filename-in-watch-later-config?},
diff --git a/gnu/home/services/mpv.scm b/gnu/home/services/mpv.scm
index 8d11fa03a3..b6c640a38b 100644
--- a/gnu/home/services/mpv.scm
+++ b/gnu/home/services/mpv.scm
@@ -380,6 +380,7 @@ (define-opt ao-null-untimed? boolean)
 (define-opt ao-pcm-append? boolean)
 (define-opt ao-pcm-file string)
 (define-opt ao-pcm-waveheader? boolean)
+(define-opt archive-exts list-of-string)
 (define-opt
   audio-backward-batch
   integer
@@ -496,7 +497,11 @@ (define-opt
 (define-opt cache-on-disk? boolean)
 (define-opt cache-pause? boolean)
 (define-opt cache-pause-initial? boolean)
-(define-opt cache-pause-wait float (>= val 0))
+(define-opt
+  cache-pause-wait
+  float
+  (>= val 0)
+  (<= val 3.4028234663853e38))
 (define-opt cache-secs double (>= val 0))
 (define-opt cdda-cdtext? boolean)
 (define-opt cdda-device string)
@@ -531,6 +536,10 @@ (define-opt
   (<= val 10000))
 (define-opt chapter-seek-threshold double)
 (define-opt chapters-file string)
+(define-opt
+  clipboard-backends
+  list-of-object-setting)
+(define-opt clipboard-monitor? boolean)
 (define-opt config? boolean)
 (define-opt
   container-fps-override
@@ -737,6 +746,7 @@ (define-opt
   byte-size
   (>= val 0)
   (<= val 4.6116860184274e18))
+(define-opt demuxer-mkv-crop-compat? boolean)
 (define-opt
   demuxer-mkv-probe-start-time?
   boolean)
@@ -858,33 +868,6 @@ (define-opt
   drag-and-drop
   enumeration
   (memq val '(no auto replace append insert-next)))
-(define-opt drm-connector string)
-(define-opt drm-device string)
-(define-opt
-  drm-draw-plane
-  enumeration
-  (or (memq val '(primary overlay))
-      (and (integer? val)
-           (>= val 0)
-           (<= val 2147483647))))
-(define-opt drm-draw-surface-size window-size)
-(define-opt
-  drm-drmprime-video-plane
-  enumeration
-  (or (memq val '(primary overlay))
-      (and (integer? val)
-           (>= val 0)
-           (<= val 2147483647))))
-(define-opt
-  drm-format
-  enumeration
-  (memq val
-        '(xrgb8888 xrgb2101010 xbgr8888 xbgr2101010 yuyv)))
-(define-opt drm-mode string)
-(define-opt
-  drm-vrr-enabled
-  enumeration
-  (memq val '(no yes auto)))
 (define-opt
   dscale
   enumeration
@@ -984,9 +967,9 @@ (define-opt dvbin-full-transponder? boolean)
 (define-opt dvbin-prog string)
 (define-opt
   dvbin-timeout
-  integer
-  (>= val 1)
-  (<= val 30))
+  float
+  (>= val 0)
+  (<= val 3.4028234663853e38))
 (define-opt
   dvd-angle
   integer
@@ -1163,6 +1146,13 @@ (define-opt
   (>= val 0)
   (<= val 256))
 (define-opt hwdec-image-format image-format)
+(define-opt
+  hwdec-software-fallback
+  enumeration
+  (or (memq val '(no yes))
+      (and (integer? val)
+           (>= val 1)
+           (<= val 2147483647))))
 (define-opt icc-3dlut-size string)
 (define-opt icc-cache? boolean)
 (define-opt icc-cache-dir string)
@@ -1214,6 +1204,7 @@ (define-opt
   (>= val 0)
   (<= val 1000))
 (define-opt input-dragging-deadzone integer)
+(define-opt input-ime? boolean)
 (define-opt input-ipc-client string)
 (define-opt input-ipc-server string)
 (define-opt
@@ -1258,7 +1249,9 @@ (define-opt
   load-auto-profiles
   enumeration
   (memq val '(no yes auto)))
-(define-opt load-osd-console? boolean)
+(define-opt load-commands? boolean)
+(define-opt load-console? boolean)
+(define-opt load-positioning? boolean)
 (define-opt load-scripts? boolean)
 (define-opt load-select? boolean)
 (define-opt load-stats-overlay? boolean)
@@ -1280,10 +1273,7 @@ (define-opt
   enumeration
   (memq val '(auto native normalized conversion)))
 (define-opt mc float (>= val 0) (<= val 100))
-(define-opt
-  media-controls
-  enumeration
-  (memq val '(no player yes)))
+(define-opt media-controls? boolean)
 (define-opt merge-files? boolean)
 (define-opt metadata-codepage string)
 (define-opt mf-fps double)
@@ -1366,6 +1356,20 @@ (define-opt
   float
   (>= val 0.1)
   (<= val 50))
+(define-opt
+  osd-bar-marker-min-size
+  float
+  (>= val 0)
+  (<= val 1000))
+(define-opt
+  osd-bar-marker-scale
+  float
+  (>= val 0)
+  (<= val 100))
+(define-opt
+  osd-bar-marker-style
+  enumeration
+  (memq val '(none triangle line)))
 (define-opt
   osd-bar-outline-size
   float
@@ -1449,6 +1453,8 @@ (define-opt
   (>= val 0)
   (<= val 100))
 (define-opt osd-scale-by-window? boolean)
+(define-opt osd-selected-color color)
+(define-opt osd-selected-outline-color color)
 (define-opt osd-shadow-offset float)
 (define-opt
   osd-spacing
@@ -1484,6 +1490,7 @@ (define-opt
   player-operation-mode
   enumeration
   (memq val '(cplayer pseudo-gui)))
+(define-opt playlist-exts list-of-string)
 (define-opt
   playlist-start
   enumeration
@@ -1533,6 +1540,7 @@ (define-opt
   (>= val -100)
   (<= val 100))
 (define-opt save-position-on-quit? boolean)
+(define-opt save-watch-history? boolean)
 (define-opt
   scale
   enumeration
@@ -1761,25 +1769,16 @@ (define-opt
   (memq val '(top center bottom)))
 (define-opt sub-ass? boolean)
 (define-opt sub-ass-force-margins? boolean)
-(define-opt
-  sub-ass-hinting
-  enumeration
-  (memq val '(none light normal native)))
 (define-opt sub-ass-justify? boolean)
-(define-opt
-  sub-ass-line-spacing
-  float
-  (>= val -1000)
-  (<= val 1000))
 (define-opt
   sub-ass-override
   enumeration
   (memq val '(no yes scale force strip)))
-(define-opt sub-ass-scale-with-window? boolean)
 (define-opt
-  sub-ass-shaper
-  enumeration
-  (memq val '(simple complex)))
+  sub-ass-prune-delay
+  double
+  (>= val -1))
+(define-opt sub-ass-scale-with-window? boolean)
 (define-opt
   sub-ass-style-overrides
   list-of-string)
@@ -1850,12 +1849,21 @@ (define-opt
   (>= val 0)
   (<= val 3))
 (define-opt sub-gray? boolean)
+(define-opt
+  sub-hinting
+  enumeration
+  (memq val '(none light normal native)))
 (define-opt sub-italic? boolean)
 (define-opt
   sub-justify
   enumeration
   (memq val '(auto left center right)))
 (define-opt sub-lavc-o list-of-key-value)
+(define-opt
+  sub-line-spacing
+  float
+  (>= val -1000)
+  (<= val 1000))
 (define-opt
   sub-margin-x
   integer
@@ -1880,8 +1888,13 @@ (define-opt
   (>= val 0)
   (<= val 100))
 (define-opt sub-scale-by-window? boolean)
+(define-opt sub-scale-signs? boolean)
 (define-opt sub-scale-with-window? boolean)
 (define-opt sub-shadow-offset float)
+(define-opt
+  sub-shaper
+  enumeration
+  (memq val '(simple complex)))
 (define-opt
   sub-spacing
   float
@@ -1950,7 +1963,10 @@ (define-opt
           sinc
           lanczos
           spline)))
-(define-opt target-colorspace-hint? boolean)
+(define-opt
+  target-colorspace-hint
+  enumeration
+  (memq val '(auto no yes)))
 (define-opt
   target-contrast
   enumeration
@@ -2193,13 +2209,6 @@ (define-opt
   enumeration
   (memq val
         '(none default nonref bidir nonkey all)))
-(define-opt
-  vd-lavc-software-fallback
-  enumeration
-  (or (memq val '(no yes))
-      (and (integer? val)
-           (>= val 1)
-           (<= val 2147483647))))
 (define-opt vd-lavc-threads integer (>= val 0))
 (define-opt vd-queue-enable? boolean)
 (define-opt
@@ -2231,11 +2240,11 @@ (define-opt
 (define-opt
   video-aspect-method
   enumeration
-  (memq val '(bitstream container)))
+  (memq val '(bitstream container ignore)))
 (define-opt
   video-aspect-override
   aspect
-  (>= val -1)
+  (>= val -2)
   (<= val 10))
 (define-opt
   video-backward-batch
@@ -2277,6 +2286,7 @@ (define-opt
   (memq val '(auto limited full)))
 (define-opt video-pan-x float)
 (define-opt video-pan-y float)
+(define-opt video-recenter? boolean)
 (define-opt
   video-reversal-buffer
   byte-size
@@ -2511,6 +2521,7 @@ (define-opt
   enumeration
   (memq val
         '(auto fifo fifo-relaxed mailbox immediate)))
+(define-opt watch-history-path string)
 (define-opt watch-later-directory string)
 (define-opt watch-later-options list-of-string)
 (define-opt wayland-app-id string)
@@ -2533,6 +2544,10 @@ (define-opt
   integer
   (>= val 0)
   (<= val 2147483647))
+(define-opt
+  wayland-internal-vsync
+  enumeration
+  (memq val '(no auto yes)))
 (define-opt wayland-present? boolean)
 (define-opt wid integer64)
 (define-opt window-dragging? boolean)
-- 
2.49.0





Information forwarded to andrew <at> trop.in, gabriel <at> erlikon.ch, hako <at> ultrarare.space, janneke <at> gnu.org, ludo <at> gnu.org, maxim.cournoyer <at> gmail.com, tanguy <at> bioneland.org, guix-patches <at> gnu.org:
bug#78597; Package guix-patches. (Mon, 26 May 2025 21:20:02 GMT) Full text and rfc822 format available.

Message #11 received at 78597 <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: 78597 <at> debbugs.gnu.org
Cc: Tomas Volf <~@wolfsden.cz>, Sergey Trofimov <sarg <at> sarg.org.ru>
Subject: [PATCH 2/2] home-mpv-configuration: Support file-like for file fields.
Date: Mon, 26 May 2025 23:19:02 +0200
* gnu/home/services/mpv.scm (serialize-mpv/file, mpv/file?): New procedures.
(ao-null-latency, audio-file-paths, audio-files, bluray-device, cdda-device)
(chapters-file, cookies-file, cover-art-files, demuxer-cache-dir, dump-stats)
(dvbin-file, dvd-device, external-files, glsl-shaders, gpu-shader-cache-dir)
(icc-cache-dir, icc-profile, image-lut, include, input-conf, input-ipc-server)
(log-file, lut, ordered-chapters-files, osd-fonts-dir, screenshot-directory)
(scripts, stream-dump, sub-ass-styles, sub-file-paths, sub-files)
(sub-fonts-dir, target-lut, tls-ca-file, tls-cert-file, tls-key-file):
(vo-image-outdir, watch-history-path, watch-later-directory): Change type.
* doc/guix.texi (mpv Media Player): Document it.

Reported-by: Sergey Trofimov <sarg <at> sarg.org.ru>
Change-Id: I7e55b306104c235d165ab138397b767f1af5c124
---
 doc/guix.texi             |  3 +-
 gnu/home/services/mpv.scm | 94 +++++++++++++++++++++++----------------
 2 files changed, 57 insertions(+), 40 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 40a1bddf52..4c513f500c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -51131,7 +51131,8 @@ mpv Media Player
 
 Other types accept strings, with validation of the values where possible
 (e.g. type @samp{Color} is validated, but type @samp{Audio channels or
-channel map} is not).
+channel map} is not).  If an option is marked as taking a file, values
+satisfying @code{file-like?} can also be used.
 
 The full list of currently supported keyword arguments is below.  For
 the types, allowed values and full description please refer to the
diff --git a/gnu/home/services/mpv.scm b/gnu/home/services/mpv.scm
index b6c640a38b..50d3f06c46 100644
--- a/gnu/home/services/mpv.scm
+++ b/gnu/home/services/mpv.scm
@@ -87,6 +87,14 @@ (define (serialize-mpv/string field-name value)
 (define mpv/string?
   string?)
 
+(define (serialize-mpv/file field-name value)
+  #~(string-append #$(symbol->string field-name)
+                   "="
+                   #$value
+                   "\n"))
+(define (mpv/file? value)
+  (or (file-like? value) (string? value)))
+
 (define (serialize-mpv/float field-name value)
   #~(string-append #$(symbol->string field-name)
                    "="
@@ -216,6 +224,14 @@ (define (serialize-mpv/list-of-string field-name lst)
 (define (mpv/list-of-string? lst)
   (every mpv/string? lst))
 
+(define (serialize-mpv/list-of-file field-name lst)
+  #~(string-append #$(symbol->string field-name)
+                   "="
+                   (string-join '#$lst ",")
+                   "\n"))
+(define (mpv/list-of-file? lst)
+  (every mpv/file? lst))
+
 (define (serialize-mpv/list-of-key-value field-name lst)
   #~(string-append #$(symbol->string field-name)
                    "="
@@ -378,7 +394,7 @@ (define-opt
   (<= val 10000))
 (define-opt ao-null-untimed? boolean)
 (define-opt ao-pcm-append? boolean)
-(define-opt ao-pcm-file string)
+(define-opt ao-pcm-file file)
 (define-opt ao-pcm-waveheader? boolean)
 (define-opt archive-exts list-of-string)
 (define-opt
@@ -414,8 +430,8 @@ (define-opt
   audio-file-auto
   enumeration
   (memq val '(no exact fuzzy all)))
-(define-opt audio-file-paths list-of-string)
-(define-opt audio-files list-of-string)
+(define-opt audio-file-paths list-of-file)
+(define-opt audio-files list-of-file)
 (define-opt audio-format audio-format)
 (define-opt audio-normalize-downmix? boolean)
 (define-opt audio-pitch-correction? boolean)
@@ -479,7 +495,7 @@ (define-opt
   blend-subtitles
   enumeration
   (memq val '(no yes video)))
-(define-opt bluray-device string)
+(define-opt bluray-device file)
 (define-opt border? boolean)
 (define-opt
   border-background
@@ -504,7 +520,7 @@ (define-opt
   (<= val 3.4028234663853e38))
 (define-opt cache-secs double (>= val 0))
 (define-opt cdda-cdtext? boolean)
-(define-opt cdda-device string)
+(define-opt cdda-device file)
 (define-opt
   cdda-overlap
   integer
@@ -535,7 +551,7 @@ (define-opt
   (>= val 0)
   (<= val 10000))
 (define-opt chapter-seek-threshold double)
-(define-opt chapters-file string)
+(define-opt chapters-file file)
 (define-opt
   clipboard-backends
   list-of-object-setting)
@@ -551,7 +567,7 @@ (define-opt
   (>= val -100)
   (<= val 100))
 (define-opt cookies? boolean)
-(define-opt cookies-file string)
+(define-opt cookies-file file)
 (define-opt
   corner-rounding
   float
@@ -563,7 +579,7 @@ (define-opt
   cover-art-auto
   enumeration
   (memq val '(no exact fuzzy all)))
-(define-opt cover-art-files list-of-string)
+(define-opt cover-art-files list-of-file)
 (define-opt cover-art-whitelist list-of-string)
 (define-opt
   cscale
@@ -692,7 +708,7 @@ (define-opt
   demuxer-backward-playback-step
   double
   (>= val 0))
-(define-opt demuxer-cache-dir string)
+(define-opt demuxer-cache-dir file)
 (define-opt
   demuxer-cache-unlink-files
   enumeration
@@ -955,14 +971,14 @@ (define-opt
   float
   (>= val 0)
   (<= val 1))
-(define-opt dump-stats string)
+(define-opt dump-stats file)
 (define-opt
   dvbin-card
   integer
   (>= val 0)
   (<= val 15))
 (define-opt dvbin-channel-switch-offset integer)
-(define-opt dvbin-file string)
+(define-opt dvbin-file file)
 (define-opt dvbin-full-transponder? boolean)
 (define-opt dvbin-prog string)
 (define-opt
@@ -975,7 +991,7 @@ (define-opt
   integer
   (>= val 1)
   (<= val 99))
-(define-opt dvd-device string)
+(define-opt dvd-device file)
 (define-opt dvd-speed integer)
 (define-opt
   edition
@@ -1002,7 +1018,7 @@ (define-opt
   end
   relative-time-or-percent-position)
 (define-opt error-diffusion string)
-(define-opt external-files list-of-string)
+(define-opt external-files list-of-file)
 (define-opt fbo-format string)
 (define-opt
   focus-on
@@ -1065,7 +1081,7 @@ (define-opt
   (memq val '(no yes weak)))
 (define-opt geometry window-geometry)
 (define-opt glsl-shader-opts list-of-key-value)
-(define-opt glsl-shaders list-of-string)
+(define-opt glsl-shaders list-of-file)
 (define-opt gpu-api list-of-object-setting)
 (define-opt gpu-context list-of-object-setting)
 (define-opt gpu-debug? boolean)
@@ -1075,7 +1091,7 @@ (define-opt
   (memq val '(auto yes no)))
 (define-opt gpu-hwdec-interop string)
 (define-opt gpu-shader-cache? boolean)
-(define-opt gpu-shader-cache-dir string)
+(define-opt gpu-shader-cache-dir file)
 (define-opt gpu-sw? boolean)
 (define-opt
   gpu-tex-pad-x
@@ -1155,14 +1171,14 @@ (define-opt
            (<= val 2147483647))))
 (define-opt icc-3dlut-size string)
 (define-opt icc-cache? boolean)
-(define-opt icc-cache-dir string)
+(define-opt icc-cache-dir file)
 (define-opt
   icc-force-contrast
   enumeration
   (or (memq val '(no inf))
       (and (integer? val) (>= val 0) (<= val 1000000))))
 (define-opt icc-intent integer)
-(define-opt icc-profile string)
+(define-opt icc-profile file)
 (define-opt icc-profile-auto? boolean)
 (define-opt icc-use-luma? boolean)
 (define-opt
@@ -1177,13 +1193,13 @@ (define-opt
   double
   (>= val 0))
 (define-opt image-exts list-of-string)
-(define-opt image-lut string)
+(define-opt image-lut file)
 (define-opt
   image-lut-type
   enumeration
   (memq val '(auto native normalized conversion)))
 (define-opt image-subs-video-resolution? boolean)
-(define-opt include string)
+(define-opt include file)
 (define-opt
   index
   enumeration
@@ -1194,7 +1210,7 @@ (define-opt input-ar-rate integer)
 (define-opt input-builtin-bindings? boolean)
 (define-opt input-builtin-dragging? boolean)
 (define-opt input-commands list-of-string)
-(define-opt input-conf string)
+(define-opt input-conf file)
 (define-opt input-cursor? boolean)
 (define-opt input-cursor-passthrough? boolean)
 (define-opt input-default-bindings? boolean)
@@ -1206,7 +1222,7 @@ (define-opt
 (define-opt input-dragging-deadzone integer)
 (define-opt input-ime? boolean)
 (define-opt input-ipc-client string)
-(define-opt input-ipc-server string)
+(define-opt input-ipc-server file)
 (define-opt
   input-key-fifo-size
   integer
@@ -1256,7 +1272,7 @@ (define-opt load-scripts? boolean)
 (define-opt load-select? boolean)
 (define-opt load-stats-overlay? boolean)
 (define-opt load-unsafe-playlists? boolean)
-(define-opt log-file string)
+(define-opt log-file file)
 (define-opt
   loop-file
   enumeration
@@ -1267,7 +1283,7 @@ (define-opt
   enumeration
   (or (memq val '(no inf yes force))
       (and (integer? val) (>= val 1) (<= val 10000))))
-(define-opt lut string)
+(define-opt lut file)
 (define-opt
   lut-type
   enumeration
@@ -1328,7 +1344,7 @@ (define-opt opengl-swapinterval integer)
 (define-opt opengl-waitvsync? boolean)
 (define-opt orawts? boolean)
 (define-opt ordered-chapters? boolean)
-(define-opt ordered-chapters-files string)
+(define-opt ordered-chapters-files file)
 (define-opt oremove-metadata list-of-string)
 (define-opt osc? boolean)
 (define-opt
@@ -1407,7 +1423,7 @@ (define-opt
   float
   (>= val 1)
   (<= val 9000))
-(define-opt osd-fonts-dir string)
+(define-opt osd-fonts-dir file)
 (define-opt osd-fractions? boolean)
 (define-opt osd-italic? boolean)
 (define-opt
@@ -1640,7 +1656,7 @@ (define-opt
   screenshot-avif-opts
   list-of-key-value)
 (define-opt screenshot-avif-pixfmt string)
-(define-opt screenshot-directory string)
+(define-opt screenshot-directory file)
 (define-opt
   screenshot-format
   enumeration
@@ -1689,7 +1705,7 @@ (define-opt
   (>= val 0)
   (<= val 100))
 (define-opt script-opts list-of-key-value)
-(define-opt scripts list-of-string)
+(define-opt scripts list-of-file)
 (define-opt
   secondary-sid
   enumeration
@@ -1752,7 +1768,7 @@ (define-opt
   byte-size
   (>= val 4096)
   (<= val 536870912))
-(define-opt stream-dump string)
+(define-opt stream-dump file)
 (define-opt stream-lavf-o list-of-key-value)
 (define-opt stream-record string)
 (define-opt stretch-dvd-subs? boolean)
@@ -1782,7 +1798,7 @@ (define-opt sub-ass-scale-with-window? boolean)
 (define-opt
   sub-ass-style-overrides
   list-of-string)
-(define-opt sub-ass-styles string)
+(define-opt sub-ass-styles file)
 (define-opt
   sub-ass-use-video-data
   enumeration
@@ -1819,8 +1835,8 @@ (define-opt sub-color color)
 (define-opt sub-create-cc-track? boolean)
 (define-opt sub-delay float)
 (define-opt sub-demuxer string)
-(define-opt sub-file-paths list-of-string)
-(define-opt sub-files list-of-string)
+(define-opt sub-file-paths list-of-file)
+(define-opt sub-files list-of-file)
 (define-opt sub-filter-jsre list-of-string)
 (define-opt sub-filter-regex list-of-string)
 (define-opt sub-filter-regex-enable? boolean)
@@ -1840,7 +1856,7 @@ (define-opt
   float
   (>= val 1)
   (<= val 9000))
-(define-opt sub-fonts-dir string)
+(define-opt sub-fonts-dir file)
 (define-opt sub-forced-events-only? boolean)
 (define-opt sub-fps float)
 (define-opt
@@ -1993,7 +2009,7 @@ (define-opt
                film-c
                aces-ap0
                aces-ap1)))
-(define-opt target-lut string)
+(define-opt target-lut file)
 (define-opt
   target-peak
   enumeration
@@ -2064,9 +2080,9 @@ (define-opt term-title string)
 (define-opt terminal? boolean)
 (define-opt title string)
 (define-opt title-bar? boolean)
-(define-opt tls-ca-file string)
-(define-opt tls-cert-file string)
-(define-opt tls-key-file string)
+(define-opt tls-ca-file file)
+(define-opt tls-cert-file file)
+(define-opt tls-key-file file)
 (define-opt tls-verify? boolean)
 (define-opt
   tone-mapping
@@ -2373,7 +2389,7 @@ (define-opt
   integer
   (>= val 1)
   (<= val 9))
-(define-opt vo-image-outdir string)
+(define-opt vo-image-outdir file)
 (define-opt
   vo-image-png-compression
   integer
@@ -2521,8 +2537,8 @@ (define-opt
   enumeration
   (memq val
         '(auto fifo fifo-relaxed mailbox immediate)))
-(define-opt watch-history-path string)
-(define-opt watch-later-directory string)
+(define-opt watch-history-path file)
+(define-opt watch-later-directory file)
 (define-opt watch-later-options list-of-string)
 (define-opt wayland-app-id string)
 (define-opt
-- 
2.49.0





Information forwarded to andrew <at> trop.in, gabriel <at> erlikon.ch, hako <at> ultrarare.space, janneke <at> gnu.org, ludo <at> gnu.org, maxim.cournoyer <at> gmail.com, tanguy <at> bioneland.org, guix-patches <at> gnu.org:
bug#78597; Package guix-patches. (Tue, 27 May 2025 12:31:01 GMT) Full text and rfc822 format available.

Message #14 received at 78597 <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: 78597 <at> debbugs.gnu.org
Cc: Tomas Volf <~@wolfsden.cz>, Sergey Trofimov <sarg <at> sarg.org.ru>
Subject: [PATCH v2 2/2] home-mpv-configuration: Support file-like for file
 fields.
Date: Tue, 27 May 2025 14:29:36 +0200
* gnu/home/services/mpv.scm (serialize-mpv/file, mpv/file?): New procedures.
(ao-null-latency, audio-file-paths, audio-files, bluray-device, cdda-device)
(chapters-file, cookies-file, cover-art-files, demuxer-cache-dir, dump-stats)
(dvbin-file, dvd-device, external-files, glsl-shaders, gpu-shader-cache-dir)
(icc-cache-dir, icc-profile, image-lut, include, input-conf, input-ipc-server)
(log-file, lut, ordered-chapters-files, osd-fonts-dir, screenshot-directory)
(scripts, stream-dump, sub-ass-styles, sub-file-paths, sub-files)
(sub-fonts-dir, target-lut, tls-ca-file, tls-cert-file, tls-key-file):
(vo-image-outdir, watch-history-path, watch-later-directory): Change type.
* doc/guix.texi (mpv Media Player): Document it.

Reported-by: Sergey Trofimov <sarg <at> sarg.org.ru>
Change-Id: I7e55b306104c235d165ab138397b767f1af5c124
---
v2: Use ":" instead of "," for list of files.

 doc/guix.texi             |  3 +-
 gnu/home/services/mpv.scm | 94 +++++++++++++++++++++++----------------
 2 files changed, 57 insertions(+), 40 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 40a1bddf52..4c513f500c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -51131,7 +51131,8 @@ mpv Media Player

 Other types accept strings, with validation of the values where possible
 (e.g. type @samp{Color} is validated, but type @samp{Audio channels or
-channel map} is not).
+channel map} is not).  If an option is marked as taking a file, values
+satisfying @code{file-like?} can also be used.

 The full list of currently supported keyword arguments is below.  For
 the types, allowed values and full description please refer to the
diff --git a/gnu/home/services/mpv.scm b/gnu/home/services/mpv.scm
index b6c640a38b..54c6b86680 100644
--- a/gnu/home/services/mpv.scm
+++ b/gnu/home/services/mpv.scm
@@ -87,6 +87,14 @@ (define (serialize-mpv/string field-name value)
 (define mpv/string?
   string?)

+(define (serialize-mpv/file field-name value)
+  #~(string-append #$(symbol->string field-name)
+                   "="
+                   #$value
+                   "\n"))
+(define (mpv/file? value)
+  (or (file-like? value) (string? value)))
+
 (define (serialize-mpv/float field-name value)
   #~(string-append #$(symbol->string field-name)
                    "="
@@ -216,6 +224,14 @@ (define (serialize-mpv/list-of-string field-name lst)
 (define (mpv/list-of-string? lst)
   (every mpv/string? lst))

+(define (serialize-mpv/list-of-file field-name lst)
+  #~(string-append #$(symbol->string field-name)
+                   "="
+                   (string-join '#$lst ":")
+                   "\n"))
+(define (mpv/list-of-file? lst)
+  (every mpv/file? lst))
+
 (define (serialize-mpv/list-of-key-value field-name lst)
   #~(string-append #$(symbol->string field-name)
                    "="
@@ -378,7 +394,7 @@ (define-opt
   (<= val 10000))
 (define-opt ao-null-untimed? boolean)
 (define-opt ao-pcm-append? boolean)
-(define-opt ao-pcm-file string)
+(define-opt ao-pcm-file file)
 (define-opt ao-pcm-waveheader? boolean)
 (define-opt archive-exts list-of-string)
 (define-opt
@@ -414,8 +430,8 @@ (define-opt
   audio-file-auto
   enumeration
   (memq val '(no exact fuzzy all)))
-(define-opt audio-file-paths list-of-string)
-(define-opt audio-files list-of-string)
+(define-opt audio-file-paths list-of-file)
+(define-opt audio-files list-of-file)
 (define-opt audio-format audio-format)
 (define-opt audio-normalize-downmix? boolean)
 (define-opt audio-pitch-correction? boolean)
@@ -479,7 +495,7 @@ (define-opt
   blend-subtitles
   enumeration
   (memq val '(no yes video)))
-(define-opt bluray-device string)
+(define-opt bluray-device file)
 (define-opt border? boolean)
 (define-opt
   border-background
@@ -504,7 +520,7 @@ (define-opt
   (<= val 3.4028234663853e38))
 (define-opt cache-secs double (>= val 0))
 (define-opt cdda-cdtext? boolean)
-(define-opt cdda-device string)
+(define-opt cdda-device file)
 (define-opt
   cdda-overlap
   integer
@@ -535,7 +551,7 @@ (define-opt
   (>= val 0)
   (<= val 10000))
 (define-opt chapter-seek-threshold double)
-(define-opt chapters-file string)
+(define-opt chapters-file file)
 (define-opt
   clipboard-backends
   list-of-object-setting)
@@ -551,7 +567,7 @@ (define-opt
   (>= val -100)
   (<= val 100))
 (define-opt cookies? boolean)
-(define-opt cookies-file string)
+(define-opt cookies-file file)
 (define-opt
   corner-rounding
   float
@@ -563,7 +579,7 @@ (define-opt
   cover-art-auto
   enumeration
   (memq val '(no exact fuzzy all)))
-(define-opt cover-art-files list-of-string)
+(define-opt cover-art-files list-of-file)
 (define-opt cover-art-whitelist list-of-string)
 (define-opt
   cscale
@@ -692,7 +708,7 @@ (define-opt
   demuxer-backward-playback-step
   double
   (>= val 0))
-(define-opt demuxer-cache-dir string)
+(define-opt demuxer-cache-dir file)
 (define-opt
   demuxer-cache-unlink-files
   enumeration
@@ -955,14 +971,14 @@ (define-opt
   float
   (>= val 0)
   (<= val 1))
-(define-opt dump-stats string)
+(define-opt dump-stats file)
 (define-opt
   dvbin-card
   integer
   (>= val 0)
   (<= val 15))
 (define-opt dvbin-channel-switch-offset integer)
-(define-opt dvbin-file string)
+(define-opt dvbin-file file)
 (define-opt dvbin-full-transponder? boolean)
 (define-opt dvbin-prog string)
 (define-opt
@@ -975,7 +991,7 @@ (define-opt
   integer
   (>= val 1)
   (<= val 99))
-(define-opt dvd-device string)
+(define-opt dvd-device file)
 (define-opt dvd-speed integer)
 (define-opt
   edition
@@ -1002,7 +1018,7 @@ (define-opt
   end
   relative-time-or-percent-position)
 (define-opt error-diffusion string)
-(define-opt external-files list-of-string)
+(define-opt external-files list-of-file)
 (define-opt fbo-format string)
 (define-opt
   focus-on
@@ -1065,7 +1081,7 @@ (define-opt
   (memq val '(no yes weak)))
 (define-opt geometry window-geometry)
 (define-opt glsl-shader-opts list-of-key-value)
-(define-opt glsl-shaders list-of-string)
+(define-opt glsl-shaders list-of-file)
 (define-opt gpu-api list-of-object-setting)
 (define-opt gpu-context list-of-object-setting)
 (define-opt gpu-debug? boolean)
@@ -1075,7 +1091,7 @@ (define-opt
   (memq val '(auto yes no)))
 (define-opt gpu-hwdec-interop string)
 (define-opt gpu-shader-cache? boolean)
-(define-opt gpu-shader-cache-dir string)
+(define-opt gpu-shader-cache-dir file)
 (define-opt gpu-sw? boolean)
 (define-opt
   gpu-tex-pad-x
@@ -1155,14 +1171,14 @@ (define-opt
            (<= val 2147483647))))
 (define-opt icc-3dlut-size string)
 (define-opt icc-cache? boolean)
-(define-opt icc-cache-dir string)
+(define-opt icc-cache-dir file)
 (define-opt
   icc-force-contrast
   enumeration
   (or (memq val '(no inf))
       (and (integer? val) (>= val 0) (<= val 1000000))))
 (define-opt icc-intent integer)
-(define-opt icc-profile string)
+(define-opt icc-profile file)
 (define-opt icc-profile-auto? boolean)
 (define-opt icc-use-luma? boolean)
 (define-opt
@@ -1177,13 +1193,13 @@ (define-opt
   double
   (>= val 0))
 (define-opt image-exts list-of-string)
-(define-opt image-lut string)
+(define-opt image-lut file)
 (define-opt
   image-lut-type
   enumeration
   (memq val '(auto native normalized conversion)))
 (define-opt image-subs-video-resolution? boolean)
-(define-opt include string)
+(define-opt include file)
 (define-opt
   index
   enumeration
@@ -1194,7 +1210,7 @@ (define-opt input-ar-rate integer)
 (define-opt input-builtin-bindings? boolean)
 (define-opt input-builtin-dragging? boolean)
 (define-opt input-commands list-of-string)
-(define-opt input-conf string)
+(define-opt input-conf file)
 (define-opt input-cursor? boolean)
 (define-opt input-cursor-passthrough? boolean)
 (define-opt input-default-bindings? boolean)
@@ -1206,7 +1222,7 @@ (define-opt
 (define-opt input-dragging-deadzone integer)
 (define-opt input-ime? boolean)
 (define-opt input-ipc-client string)
-(define-opt input-ipc-server string)
+(define-opt input-ipc-server file)
 (define-opt
   input-key-fifo-size
   integer
@@ -1256,7 +1272,7 @@ (define-opt load-scripts? boolean)
 (define-opt load-select? boolean)
 (define-opt load-stats-overlay? boolean)
 (define-opt load-unsafe-playlists? boolean)
-(define-opt log-file string)
+(define-opt log-file file)
 (define-opt
   loop-file
   enumeration
@@ -1267,7 +1283,7 @@ (define-opt
   enumeration
   (or (memq val '(no inf yes force))
       (and (integer? val) (>= val 1) (<= val 10000))))
-(define-opt lut string)
+(define-opt lut file)
 (define-opt
   lut-type
   enumeration
@@ -1328,7 +1344,7 @@ (define-opt opengl-swapinterval integer)
 (define-opt opengl-waitvsync? boolean)
 (define-opt orawts? boolean)
 (define-opt ordered-chapters? boolean)
-(define-opt ordered-chapters-files string)
+(define-opt ordered-chapters-files file)
 (define-opt oremove-metadata list-of-string)
 (define-opt osc? boolean)
 (define-opt
@@ -1407,7 +1423,7 @@ (define-opt
   float
   (>= val 1)
   (<= val 9000))
-(define-opt osd-fonts-dir string)
+(define-opt osd-fonts-dir file)
 (define-opt osd-fractions? boolean)
 (define-opt osd-italic? boolean)
 (define-opt
@@ -1640,7 +1656,7 @@ (define-opt
   screenshot-avif-opts
   list-of-key-value)
 (define-opt screenshot-avif-pixfmt string)
-(define-opt screenshot-directory string)
+(define-opt screenshot-directory file)
 (define-opt
   screenshot-format
   enumeration
@@ -1689,7 +1705,7 @@ (define-opt
   (>= val 0)
   (<= val 100))
 (define-opt script-opts list-of-key-value)
-(define-opt scripts list-of-string)
+(define-opt scripts list-of-file)
 (define-opt
   secondary-sid
   enumeration
@@ -1752,7 +1768,7 @@ (define-opt
   byte-size
   (>= val 4096)
   (<= val 536870912))
-(define-opt stream-dump string)
+(define-opt stream-dump file)
 (define-opt stream-lavf-o list-of-key-value)
 (define-opt stream-record string)
 (define-opt stretch-dvd-subs? boolean)
@@ -1782,7 +1798,7 @@ (define-opt sub-ass-scale-with-window? boolean)
 (define-opt
   sub-ass-style-overrides
   list-of-string)
-(define-opt sub-ass-styles string)
+(define-opt sub-ass-styles file)
 (define-opt
   sub-ass-use-video-data
   enumeration
@@ -1819,8 +1835,8 @@ (define-opt sub-color color)
 (define-opt sub-create-cc-track? boolean)
 (define-opt sub-delay float)
 (define-opt sub-demuxer string)
-(define-opt sub-file-paths list-of-string)
-(define-opt sub-files list-of-string)
+(define-opt sub-file-paths list-of-file)
+(define-opt sub-files list-of-file)
 (define-opt sub-filter-jsre list-of-string)
 (define-opt sub-filter-regex list-of-string)
 (define-opt sub-filter-regex-enable? boolean)
@@ -1840,7 +1856,7 @@ (define-opt
   float
   (>= val 1)
   (<= val 9000))
-(define-opt sub-fonts-dir string)
+(define-opt sub-fonts-dir file)
 (define-opt sub-forced-events-only? boolean)
 (define-opt sub-fps float)
 (define-opt
@@ -1993,7 +2009,7 @@ (define-opt
                film-c
                aces-ap0
                aces-ap1)))
-(define-opt target-lut string)
+(define-opt target-lut file)
 (define-opt
   target-peak
   enumeration
@@ -2064,9 +2080,9 @@ (define-opt term-title string)
 (define-opt terminal? boolean)
 (define-opt title string)
 (define-opt title-bar? boolean)
-(define-opt tls-ca-file string)
-(define-opt tls-cert-file string)
-(define-opt tls-key-file string)
+(define-opt tls-ca-file file)
+(define-opt tls-cert-file file)
+(define-opt tls-key-file file)
 (define-opt tls-verify? boolean)
 (define-opt
   tone-mapping
@@ -2373,7 +2389,7 @@ (define-opt
   integer
   (>= val 1)
   (<= val 9))
-(define-opt vo-image-outdir string)
+(define-opt vo-image-outdir file)
 (define-opt
   vo-image-png-compression
   integer
@@ -2521,8 +2537,8 @@ (define-opt
   enumeration
   (memq val
         '(auto fifo fifo-relaxed mailbox immediate)))
-(define-opt watch-history-path string)
-(define-opt watch-later-directory string)
+(define-opt watch-history-path file)
+(define-opt watch-later-directory file)
 (define-opt watch-later-options list-of-string)
 (define-opt wayland-app-id string)
 (define-opt
--
2.49.0




Information forwarded to andrew <at> trop.in, gabriel <at> erlikon.ch, hako <at> ultrarare.space, janneke <at> gnu.org, ludo <at> gnu.org, maxim.cournoyer <at> gmail.com, tanguy <at> bioneland.org, guix-patches <at> gnu.org:
bug#78597; Package guix-patches. (Tue, 27 May 2025 12:31:02 GMT) Full text and rfc822 format available.

Message #17 received at 78597 <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: 78597 <at> debbugs.gnu.org
Cc: Tomas Volf <~@wolfsden.cz>
Subject: [PATCH v2 1/2] home-mpv-configuration: Update for mpv 0.40.0.
Date: Tue, 27 May 2025 14:29:35 +0200
* gnu/home/services/mpv.scm (audio-backward-batch, clipboard-backends)
(clipboard-monitor?, demuxer-mkv-crop-compat?, hwdec-software-fallback)
(input-ime?, load-commands?, load-console?, load-positioning?)
(osd-bar-marker-min-size, osd-bar-marker-scale, osd-bar-marker-style)
(osd-selected-color, osd-selected-outline-color, playlist-exts)
(save-watch-history?, sub-ass-prune-delay, sub-ass-scale-with-window?)
(sub-hinting, sub-line-spacing, sub-scale-signs?, sub-shaper, video-recenter?)
(watch-history-path, wayland-internal-vsync): New options.
(cache-pause-wait, video-aspect-override): Change range.
(dvbin-timeout, media-controls, target-colorspace-hint): Change type.
(video-aspect-method): Add enumeration member.
(drm-connector, drm-device, drm-draw-plane, drm-draw-surface-size)
(drm-drmprime-video-plane, drm-format, drm-mode, drm-vrr-enabled)
(load-osd-console?, sub-ass-hinting, sub-ass-line-spacing)
(sub-ass-scale-with-window?, sub-ass-shaper)
(vd-lavc-software-fallback): Removed options.
* doc/guix.texi: Update the list of fields.

Change-Id: I7e55b306104c235d165ab138397b767f1af5c124
---
 doc/guix.texi             | 193 +++++++++++++++++++-------------------
 gnu/home/services/mpv.scm | 133 ++++++++++++++------------
 2 files changed, 172 insertions(+), 154 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index d69e6ed215..40a1bddf52 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -51156,7 +51156,7 @@ mpv Media Player
 @code{ao-null-buffer}, @code{ao-null-channel-layouts},
 @code{ao-null-format}, @code{ao-null-latency}, @code{ao-null-outburst},
 @code{ao-null-speed}, @code{ao-null-untimed?}, @code{ao-pcm-append?},
-@code{ao-pcm-file}, @code{ao-pcm-waveheader?},
+@code{ao-pcm-file}, @code{ao-pcm-waveheader?}, @code{archive-exts},
 @code{audio-backward-batch}, @code{audio-backward-overlap},
 @code{audio-buffer}, @code{audio-channels}, @code{audio-client-name},
 @code{audio-delay}, @code{audio-demuxer}, @code{audio-device},
@@ -51181,18 +51181,19 @@ mpv Media Player
 @code{cdda-sector-size}, @code{cdda-skip?}, @code{cdda-span-a},
 @code{cdda-span-b}, @code{cdda-speed}, @code{cdda-toc-offset},
 @code{chapter-merge-threshold}, @code{chapter-seek-threshold},
-@code{chapters-file}, @code{config?}, @code{container-fps-override},
-@code{contrast}, @code{cookies?}, @code{cookies-file},
-@code{corner-rounding}, @code{correct-downscaling?},
-@code{correct-pts?}, @code{cover-art-auto}, @code{cover-art-files},
-@code{cover-art-whitelist}, @code{cscale}, @code{cscale-antiring},
-@code{cscale-blur}, @code{cscale-clamp}, @code{cscale-param1},
-@code{cscale-param2}, @code{cscale-radius}, @code{cscale-taper},
-@code{cscale-window}, @code{cscale-wparam}, @code{cscale-wtaper},
-@code{cursor-autohide}, @code{cursor-autohide-fs-only?}, @code{deband?},
-@code{deband-grain}, @code{deband-iterations}, @code{deband-range},
-@code{deband-threshold}, @code{deinterlace},
-@code{deinterlace-field-parity}, @code{demuxer},
+@code{chapters-file}, @code{clipboard-backends},
+@code{clipboard-monitor?}, @code{config?},
+@code{container-fps-override}, @code{contrast}, @code{cookies?},
+@code{cookies-file}, @code{corner-rounding},
+@code{correct-downscaling?}, @code{correct-pts?}, @code{cover-art-auto},
+@code{cover-art-files}, @code{cover-art-whitelist}, @code{cscale},
+@code{cscale-antiring}, @code{cscale-blur}, @code{cscale-clamp},
+@code{cscale-param1}, @code{cscale-param2}, @code{cscale-radius},
+@code{cscale-taper}, @code{cscale-window}, @code{cscale-wparam},
+@code{cscale-wtaper}, @code{cursor-autohide},
+@code{cursor-autohide-fs-only?}, @code{deband?}, @code{deband-grain},
+@code{deband-iterations}, @code{deband-range}, @code{deband-threshold},
+@code{deinterlace}, @code{deinterlace-field-parity}, @code{demuxer},
 @code{demuxer-backward-playback-step}, @code{demuxer-cache-dir},
 @code{demuxer-cache-unlink-files}, @code{demuxer-cache-wait?},
 @code{demuxer-donate-buffer?}, @code{demuxer-hysteresis-secs},
@@ -51203,7 +51204,7 @@ mpv Media Player
 @code{demuxer-lavf-probe-info}, @code{demuxer-lavf-probescore},
 @code{demuxer-lavf-probesize}, @code{demuxer-lavf-propagate-opts?},
 @code{demuxer-max-back-bytes}, @code{demuxer-max-bytes},
-@code{demuxer-mkv-probe-start-time?},
+@code{demuxer-mkv-crop-compat?}, @code{demuxer-mkv-probe-start-time?},
 @code{demuxer-mkv-probe-video-duration},
 @code{demuxer-mkv-subtitle-preroll},
 @code{demuxer-mkv-subtitle-preroll-secs},
@@ -51218,9 +51219,6 @@ mpv Media Player
 @code{directory-filter-types}, @code{directory-mode},
 @code{display-fps-override}, @code{display-tags}, @code{dither},
 @code{dither-depth}, @code{dither-size-fruit}, @code{drag-and-drop},
-@code{drm-connector}, @code{drm-device}, @code{drm-draw-plane},
-@code{drm-draw-surface-size}, @code{drm-drmprime-video-plane},
-@code{drm-format}, @code{drm-mode}, @code{drm-vrr-enabled},
 @code{dscale}, @code{dscale-antiring}, @code{dscale-blur},
 @code{dscale-clamp}, @code{dscale-param1}, @code{dscale-param2},
 @code{dscale-radius}, @code{dscale-taper}, @code{dscale-window},
@@ -51249,10 +51247,11 @@ mpv Media Player
 @code{hr-seek-demuxer-offset}, @code{hr-seek-framedrop?},
 @code{http-header-fields}, @code{http-proxy}, @code{hue}, @code{hwdec},
 @code{hwdec-codecs}, @code{hwdec-extra-frames},
-@code{hwdec-image-format}, @code{icc-3dlut-size}, @code{icc-cache?},
-@code{icc-cache-dir}, @code{icc-force-contrast}, @code{icc-intent},
-@code{icc-profile}, @code{icc-profile-auto?}, @code{icc-use-luma?},
-@code{idle}, @code{ignore-path-in-watch-later-config?},
+@code{hwdec-image-format}, @code{hwdec-software-fallback},
+@code{icc-3dlut-size}, @code{icc-cache?}, @code{icc-cache-dir},
+@code{icc-force-contrast}, @code{icc-intent}, @code{icc-profile},
+@code{icc-profile-auto?}, @code{icc-use-luma?}, @code{idle},
+@code{ignore-path-in-watch-later-config?},
 @code{image-display-duration}, @code{image-exts}, @code{image-lut},
 @code{image-lut-type}, @code{image-subs-video-resolution?},
 @code{include}, @code{index}, @code{initial-audio-sync?},
@@ -51261,7 +51260,7 @@ mpv Media Player
 @code{input-commands}, @code{input-conf}, @code{input-cursor?},
 @code{input-cursor-passthrough?}, @code{input-default-bindings?},
 @code{input-doubleclick-time}, @code{input-dragging-deadzone},
-@code{input-ipc-client}, @code{input-ipc-server},
+@code{input-ime?}, @code{input-ipc-client}, @code{input-ipc-server},
 @code{input-key-fifo-size}, @code{input-media-keys?},
 @code{input-preprocess-wheel?}, @code{input-right-alt-gr?},
 @code{input-terminal?}, @code{input-test?},
@@ -51273,42 +51272,45 @@ mpv Media Player
 @code{keep-open-pause?}, @code{keepaspect?}, @code{keepaspect-window?},
 @code{lavfi-complex}, @code{length}, @code{libplacebo-opts},
 @code{linear-downscaling?}, @code{linear-upscaling?},
-@code{load-auto-profiles}, @code{load-osd-console?},
-@code{load-scripts?}, @code{load-select?}, @code{load-stats-overlay?},
-@code{load-unsafe-playlists?}, @code{log-file}, @code{loop-file},
-@code{loop-playlist}, @code{lut}, @code{lut-type}, @code{mc},
-@code{media-controls}, @code{merge-files?}, @code{metadata-codepage},
-@code{mf-fps}, @code{mf-type}, @code{monitoraspect},
-@code{monitorpixelaspect}, @code{msg-color?}, @code{msg-level},
-@code{msg-module?}, @code{msg-time?}, @code{mute?}, @code{native-fs?},
-@code{native-keyrepeat?}, @code{native-touch?}, @code{network-timeout},
-@code{oac}, @code{oacopts}, @code{ocopy-metadata?}, @code{of},
-@code{ofopts}, @code{on-all-workspaces?}, @code{ontop?},
-@code{ontop-level}, @code{opengl-check-pattern-a},
-@code{opengl-check-pattern-b}, @code{opengl-early-flush},
-@code{opengl-es}, @code{opengl-glfinish?}, @code{opengl-pbo?},
-@code{opengl-rectangle-textures?}, @code{opengl-swapinterval},
-@code{opengl-waitvsync?}, @code{orawts?}, @code{ordered-chapters?},
-@code{ordered-chapters-files}, @code{oremove-metadata}, @code{osc?},
-@code{osd-align-x}, @code{osd-align-y}, @code{osd-back-color},
-@code{osd-bar?}, @code{osd-bar-align-x}, @code{osd-bar-align-y},
-@code{osd-bar-h}, @code{osd-bar-outline-size}, @code{osd-bar-w},
-@code{osd-blur}, @code{osd-bold?}, @code{osd-border-style},
-@code{osd-color}, @code{osd-duration}, @code{osd-font},
-@code{osd-font-provider}, @code{osd-font-size}, @code{osd-fonts-dir},
-@code{osd-fractions?}, @code{osd-italic?}, @code{osd-justify},
-@code{osd-level}, @code{osd-margin-x}, @code{osd-margin-y},
-@code{osd-msg1}, @code{osd-msg2}, @code{osd-msg3}, @code{osd-on-seek},
-@code{osd-outline-color}, @code{osd-outline-size},
+@code{load-auto-profiles}, @code{load-commands?}, @code{load-console?},
+@code{load-positioning?}, @code{load-scripts?}, @code{load-select?},
+@code{load-stats-overlay?}, @code{load-unsafe-playlists?},
+@code{log-file}, @code{loop-file}, @code{loop-playlist}, @code{lut},
+@code{lut-type}, @code{mc}, @code{media-controls?}, @code{merge-files?},
+@code{metadata-codepage}, @code{mf-fps}, @code{mf-type},
+@code{monitoraspect}, @code{monitorpixelaspect}, @code{msg-color?},
+@code{msg-level}, @code{msg-module?}, @code{msg-time?}, @code{mute?},
+@code{native-fs?}, @code{native-keyrepeat?}, @code{native-touch?},
+@code{network-timeout}, @code{oac}, @code{oacopts},
+@code{ocopy-metadata?}, @code{of}, @code{ofopts},
+@code{on-all-workspaces?}, @code{ontop?}, @code{ontop-level},
+@code{opengl-check-pattern-a}, @code{opengl-check-pattern-b},
+@code{opengl-early-flush}, @code{opengl-es}, @code{opengl-glfinish?},
+@code{opengl-pbo?}, @code{opengl-rectangle-textures?},
+@code{opengl-swapinterval}, @code{opengl-waitvsync?}, @code{orawts?},
+@code{ordered-chapters?}, @code{ordered-chapters-files},
+@code{oremove-metadata}, @code{osc?}, @code{osd-align-x},
+@code{osd-align-y}, @code{osd-back-color}, @code{osd-bar?},
+@code{osd-bar-align-x}, @code{osd-bar-align-y}, @code{osd-bar-h},
+@code{osd-bar-marker-min-size}, @code{osd-bar-marker-scale},
+@code{osd-bar-marker-style}, @code{osd-bar-outline-size},
+@code{osd-bar-w}, @code{osd-blur}, @code{osd-bold?},
+@code{osd-border-style}, @code{osd-color}, @code{osd-duration},
+@code{osd-font}, @code{osd-font-provider}, @code{osd-font-size},
+@code{osd-fonts-dir}, @code{osd-fractions?}, @code{osd-italic?},
+@code{osd-justify}, @code{osd-level}, @code{osd-margin-x},
+@code{osd-margin-y}, @code{osd-msg1}, @code{osd-msg2}, @code{osd-msg3},
+@code{osd-on-seek}, @code{osd-outline-color}, @code{osd-outline-size},
 @code{osd-playing-msg}, @code{osd-playing-msg-duration},
 @code{osd-playlist-entry}, @code{osd-scale},
-@code{osd-scale-by-window?}, @code{osd-shadow-offset},
+@code{osd-scale-by-window?}, @code{osd-selected-color},
+@code{osd-selected-outline-color}, @code{osd-shadow-offset},
 @code{osd-spacing}, @code{osd-status-msg}, @code{oset-metadata},
 @code{ovc}, @code{ovcopts}, @code{panscan}, @code{pause?},
 @code{pipewire-buffer}, @code{pipewire-remote},
 @code{pipewire-volume-mode}, @code{pitch}, @code{play-direction},
-@code{player-operation-mode}, @code{playlist-start},
-@code{prefetch-playlist?}, @code{profile},
+@code{player-operation-mode}, @code{playlist-exts},
+@code{playlist-start}, @code{prefetch-playlist?}, @code{profile},
 @code{pulse-allow-suspended?}, @code{pulse-buffer}, @code{pulse-host},
 @code{pulse-latency-hacks?}, @code{quiet?}, @code{really-quiet?},
 @code{rebase-start-time?}, @code{referrer}, @code{replaygain},
@@ -51316,24 +51318,24 @@ mpv Media Player
 @code{replaygain-preamp}, @code{reset-on-next-file},
 @code{resume-playback?}, @code{resume-playback-check-mtime?},
 @code{rtsp-transport}, @code{saturation}, @code{save-position-on-quit?},
-@code{scale}, @code{scale-antiring}, @code{scale-blur},
-@code{scale-clamp}, @code{scale-param1}, @code{scale-param2},
-@code{scale-radius}, @code{scale-taper}, @code{scale-window},
-@code{scale-wparam}, @code{scale-wtaper}, @code{scaler-resizes-only?},
-@code{screen}, @code{screen-name}, @code{screenshot-avif-encoder},
-@code{screenshot-avif-opts}, @code{screenshot-avif-pixfmt},
-@code{screenshot-directory}, @code{screenshot-format},
-@code{screenshot-high-bit-depth?}, @code{screenshot-jpeg-quality},
-@code{screenshot-jpeg-source-chroma?}, @code{screenshot-jxl-distance},
-@code{screenshot-jxl-effort}, @code{screenshot-png-compression},
-@code{screenshot-png-filter}, @code{screenshot-sw?},
-@code{screenshot-tag-colorspace?}, @code{screenshot-template},
-@code{screenshot-webp-compression}, @code{screenshot-webp-lossless?},
-@code{screenshot-webp-quality}, @code{script-opts}, @code{scripts},
-@code{secondary-sid}, @code{secondary-sub-ass-override},
-@code{secondary-sub-delay}, @code{secondary-sub-pos},
-@code{secondary-sub-visibility?}, @code{sharpen},
-@code{show-in-taskbar?}, @code{shuffle?}, @code{sub},
+@code{save-watch-history?}, @code{scale}, @code{scale-antiring},
+@code{scale-blur}, @code{scale-clamp}, @code{scale-param1},
+@code{scale-param2}, @code{scale-radius}, @code{scale-taper},
+@code{scale-window}, @code{scale-wparam}, @code{scale-wtaper},
+@code{scaler-resizes-only?}, @code{screen}, @code{screen-name},
+@code{screenshot-avif-encoder}, @code{screenshot-avif-opts},
+@code{screenshot-avif-pixfmt}, @code{screenshot-directory},
+@code{screenshot-format}, @code{screenshot-high-bit-depth?},
+@code{screenshot-jpeg-quality}, @code{screenshot-jpeg-source-chroma?},
+@code{screenshot-jxl-distance}, @code{screenshot-jxl-effort},
+@code{screenshot-png-compression}, @code{screenshot-png-filter},
+@code{screenshot-sw?}, @code{screenshot-tag-colorspace?},
+@code{screenshot-template}, @code{screenshot-webp-compression},
+@code{screenshot-webp-lossless?}, @code{screenshot-webp-quality},
+@code{script-opts}, @code{scripts}, @code{secondary-sid},
+@code{secondary-sub-ass-override}, @code{secondary-sub-delay},
+@code{secondary-sub-pos}, @code{secondary-sub-visibility?},
+@code{sharpen}, @code{show-in-taskbar?}, @code{shuffle?}, @code{sub},
 @code{sigmoid-center}, @code{sigmoid-slope}, @code{sigmoid-upscaling?},
 @code{slang}, @code{snap-window?}, @code{speed}, @code{spirv-compiler},
 @code{sstep}, @code{start}, @code{stop-playback-on-init-failure?},
@@ -51341,9 +51343,8 @@ mpv Media Player
 @code{stream-lavf-o}, @code{stream-record}, @code{stretch-dvd-subs?},
 @code{stretch-image-subs-to-screen?}, @code{sub-align-x},
 @code{sub-align-y}, @code{sub-ass?}, @code{sub-ass-force-margins?},
-@code{sub-ass-hinting}, @code{sub-ass-justify?},
-@code{sub-ass-line-spacing}, @code{sub-ass-override},
-@code{sub-ass-scale-with-window?}, @code{sub-ass-shaper},
+@code{sub-ass-justify?}, @code{sub-ass-override},
+@code{sub-ass-prune-delay}, @code{sub-ass-scale-with-window?},
 @code{sub-ass-style-overrides}, @code{sub-ass-styles},
 @code{sub-ass-use-video-data}, @code{sub-ass-video-aspect-override},
 @code{sub-ass-vsfilter-color-compat}, @code{sub-auto},
@@ -51358,12 +51359,13 @@ mpv Media Player
 @code{sub-fix-timing?}, @code{sub-font}, @code{sub-font-provider},
 @code{sub-font-size}, @code{sub-fonts-dir},
 @code{sub-forced-events-only?}, @code{sub-fps}, @code{sub-gauss},
-@code{sub-gray?}, @code{sub-italic?}, @code{sub-justify},
-@code{sub-lavc-o}, @code{sub-margin-x}, @code{sub-margin-y},
-@code{sub-outline-color}, @code{sub-outline-size},
-@code{sub-past-video-end?}, @code{sub-pos}, @code{sub-scale},
-@code{sub-scale-by-window?}, @code{sub-scale-with-window?},
-@code{sub-shadow-offset}, @code{sub-spacing}, @code{sub-speed},
+@code{sub-gray?}, @code{sub-hinting}, @code{sub-italic?},
+@code{sub-justify}, @code{sub-lavc-o}, @code{sub-line-spacing},
+@code{sub-margin-x}, @code{sub-margin-y}, @code{sub-outline-color},
+@code{sub-outline-size}, @code{sub-past-video-end?}, @code{sub-pos},
+@code{sub-scale}, @code{sub-scale-by-window?}, @code{sub-scale-signs?},
+@code{sub-scale-with-window?}, @code{sub-shadow-offset},
+@code{sub-shaper}, @code{sub-spacing}, @code{sub-speed},
 @code{sub-stretch-durations?}, @code{sub-use-margins?},
 @code{sub-visibility?}, @code{sub-vsfilter-bidi-compat?},
 @code{subs-fallback}, @code{subs-fallback-forced},
@@ -51371,7 +51373,7 @@ mpv Media Player
 @code{swapchain-depth}, @code{sws-allow-zimg?}, @code{sws-bitexact?},
 @code{sws-cgb}, @code{sws-chs}, @code{sws-cs}, @code{sws-cvs},
 @code{sws-fast?}, @code{sws-lgb}, @code{sws-ls}, @code{sws-scaler},
-@code{target-colorspace-hint?}, @code{target-contrast},
+@code{target-colorspace-hint}, @code{target-contrast},
 @code{target-gamut}, @code{target-lut}, @code{target-peak},
 @code{target-prim}, @code{target-trc}, @code{taskbar-progress?},
 @code{teletext-page}, @code{temporal-dither?},
@@ -51393,17 +51395,17 @@ mpv Media Player
 @code{vd-lavc-dr}, @code{vd-lavc-fast?}, @code{vd-lavc-film-grain},
 @code{vd-lavc-framedrop}, @code{vd-lavc-o}, @code{vd-lavc-show-all?},
 @code{vd-lavc-skipframe}, @code{vd-lavc-skipidct},
-@code{vd-lavc-skiploopfilter}, @code{vd-lavc-software-fallback},
-@code{vd-lavc-threads}, @code{vd-queue-enable?},
-@code{vd-queue-max-bytes}, @code{vd-queue-max-samples},
-@code{vd-queue-max-secs}, @code{vf}, @code{video}, @code{video-align-x},
-@code{video-align-y}, @code{video-aspect-method},
-@code{video-aspect-override}, @code{video-backward-batch},
-@code{video-backward-overlap}, @code{video-crop}, @code{video-exts},
-@code{video-latency-hacks?}, @code{video-margin-ratio-bottom},
-@code{video-margin-ratio-left}, @code{video-margin-ratio-right},
-@code{video-margin-ratio-top}, @code{video-osd?},
-@code{video-output-levels}, @code{video-pan-x}, @code{video-pan-y},
+@code{vd-lavc-skiploopfilter}, @code{vd-lavc-threads},
+@code{vd-queue-enable?}, @code{vd-queue-max-bytes},
+@code{vd-queue-max-samples}, @code{vd-queue-max-secs}, @code{vf},
+@code{video}, @code{video-align-x}, @code{video-align-y},
+@code{video-aspect-method}, @code{video-aspect-override},
+@code{video-backward-batch}, @code{video-backward-overlap},
+@code{video-crop}, @code{video-exts}, @code{video-latency-hacks?},
+@code{video-margin-ratio-bottom}, @code{video-margin-ratio-left},
+@code{video-margin-ratio-right}, @code{video-margin-ratio-top},
+@code{video-osd?}, @code{video-output-levels}, @code{video-pan-x},
+@code{video-pan-y}, @code{video-recenter?},
 @code{video-reversal-buffer}, @code{video-rotate}, @code{video-scale-x},
 @code{video-scale-y}, @code{video-sync},
 @code{video-sync-max-audio-change}, @code{video-sync-max-factor},
@@ -51441,10 +51443,11 @@ mpv Media Player
 @code{vulkan-device}, @code{vulkan-display-display},
 @code{vulkan-display-mode}, @code{vulkan-display-plane},
 @code{vulkan-queue-count}, @code{vulkan-swap-mode},
-@code{watch-later-directory}, @code{watch-later-options},
-@code{wayland-app-id}, @code{wayland-configure-bounds},
-@code{wayland-content-type}, @code{wayland-disable-vsync?},
-@code{wayland-edge-pixels-pointer}, @code{wayland-edge-pixels-touch},
+@code{watch-history-path}, @code{watch-later-directory},
+@code{watch-later-options}, @code{wayland-app-id},
+@code{wayland-configure-bounds}, @code{wayland-content-type},
+@code{wayland-disable-vsync?}, @code{wayland-edge-pixels-pointer},
+@code{wayland-edge-pixels-touch}, @code{wayland-internal-vsync},
 @code{wayland-present?}, @code{wid}, @code{window-dragging?},
 @code{window-maximized?}, @code{window-minimized?}, @code{window-scale},
 @code{write-filename-in-watch-later-config?},
diff --git a/gnu/home/services/mpv.scm b/gnu/home/services/mpv.scm
index 8d11fa03a3..b6c640a38b 100644
--- a/gnu/home/services/mpv.scm
+++ b/gnu/home/services/mpv.scm
@@ -380,6 +380,7 @@ (define-opt ao-null-untimed? boolean)
 (define-opt ao-pcm-append? boolean)
 (define-opt ao-pcm-file string)
 (define-opt ao-pcm-waveheader? boolean)
+(define-opt archive-exts list-of-string)
 (define-opt
   audio-backward-batch
   integer
@@ -496,7 +497,11 @@ (define-opt
 (define-opt cache-on-disk? boolean)
 (define-opt cache-pause? boolean)
 (define-opt cache-pause-initial? boolean)
-(define-opt cache-pause-wait float (>= val 0))
+(define-opt
+  cache-pause-wait
+  float
+  (>= val 0)
+  (<= val 3.4028234663853e38))
 (define-opt cache-secs double (>= val 0))
 (define-opt cdda-cdtext? boolean)
 (define-opt cdda-device string)
@@ -531,6 +536,10 @@ (define-opt
   (<= val 10000))
 (define-opt chapter-seek-threshold double)
 (define-opt chapters-file string)
+(define-opt
+  clipboard-backends
+  list-of-object-setting)
+(define-opt clipboard-monitor? boolean)
 (define-opt config? boolean)
 (define-opt
   container-fps-override
@@ -737,6 +746,7 @@ (define-opt
   byte-size
   (>= val 0)
   (<= val 4.6116860184274e18))
+(define-opt demuxer-mkv-crop-compat? boolean)
 (define-opt
   demuxer-mkv-probe-start-time?
   boolean)
@@ -858,33 +868,6 @@ (define-opt
   drag-and-drop
   enumeration
   (memq val '(no auto replace append insert-next)))
-(define-opt drm-connector string)
-(define-opt drm-device string)
-(define-opt
-  drm-draw-plane
-  enumeration
-  (or (memq val '(primary overlay))
-      (and (integer? val)
-           (>= val 0)
-           (<= val 2147483647))))
-(define-opt drm-draw-surface-size window-size)
-(define-opt
-  drm-drmprime-video-plane
-  enumeration
-  (or (memq val '(primary overlay))
-      (and (integer? val)
-           (>= val 0)
-           (<= val 2147483647))))
-(define-opt
-  drm-format
-  enumeration
-  (memq val
-        '(xrgb8888 xrgb2101010 xbgr8888 xbgr2101010 yuyv)))
-(define-opt drm-mode string)
-(define-opt
-  drm-vrr-enabled
-  enumeration
-  (memq val '(no yes auto)))
 (define-opt
   dscale
   enumeration
@@ -984,9 +967,9 @@ (define-opt dvbin-full-transponder? boolean)
 (define-opt dvbin-prog string)
 (define-opt
   dvbin-timeout
-  integer
-  (>= val 1)
-  (<= val 30))
+  float
+  (>= val 0)
+  (<= val 3.4028234663853e38))
 (define-opt
   dvd-angle
   integer
@@ -1163,6 +1146,13 @@ (define-opt
   (>= val 0)
   (<= val 256))
 (define-opt hwdec-image-format image-format)
+(define-opt
+  hwdec-software-fallback
+  enumeration
+  (or (memq val '(no yes))
+      (and (integer? val)
+           (>= val 1)
+           (<= val 2147483647))))
 (define-opt icc-3dlut-size string)
 (define-opt icc-cache? boolean)
 (define-opt icc-cache-dir string)
@@ -1214,6 +1204,7 @@ (define-opt
   (>= val 0)
   (<= val 1000))
 (define-opt input-dragging-deadzone integer)
+(define-opt input-ime? boolean)
 (define-opt input-ipc-client string)
 (define-opt input-ipc-server string)
 (define-opt
@@ -1258,7 +1249,9 @@ (define-opt
   load-auto-profiles
   enumeration
   (memq val '(no yes auto)))
-(define-opt load-osd-console? boolean)
+(define-opt load-commands? boolean)
+(define-opt load-console? boolean)
+(define-opt load-positioning? boolean)
 (define-opt load-scripts? boolean)
 (define-opt load-select? boolean)
 (define-opt load-stats-overlay? boolean)
@@ -1280,10 +1273,7 @@ (define-opt
   enumeration
   (memq val '(auto native normalized conversion)))
 (define-opt mc float (>= val 0) (<= val 100))
-(define-opt
-  media-controls
-  enumeration
-  (memq val '(no player yes)))
+(define-opt media-controls? boolean)
 (define-opt merge-files? boolean)
 (define-opt metadata-codepage string)
 (define-opt mf-fps double)
@@ -1366,6 +1356,20 @@ (define-opt
   float
   (>= val 0.1)
   (<= val 50))
+(define-opt
+  osd-bar-marker-min-size
+  float
+  (>= val 0)
+  (<= val 1000))
+(define-opt
+  osd-bar-marker-scale
+  float
+  (>= val 0)
+  (<= val 100))
+(define-opt
+  osd-bar-marker-style
+  enumeration
+  (memq val '(none triangle line)))
 (define-opt
   osd-bar-outline-size
   float
@@ -1449,6 +1453,8 @@ (define-opt
   (>= val 0)
   (<= val 100))
 (define-opt osd-scale-by-window? boolean)
+(define-opt osd-selected-color color)
+(define-opt osd-selected-outline-color color)
 (define-opt osd-shadow-offset float)
 (define-opt
   osd-spacing
@@ -1484,6 +1490,7 @@ (define-opt
   player-operation-mode
   enumeration
   (memq val '(cplayer pseudo-gui)))
+(define-opt playlist-exts list-of-string)
 (define-opt
   playlist-start
   enumeration
@@ -1533,6 +1540,7 @@ (define-opt
   (>= val -100)
   (<= val 100))
 (define-opt save-position-on-quit? boolean)
+(define-opt save-watch-history? boolean)
 (define-opt
   scale
   enumeration
@@ -1761,25 +1769,16 @@ (define-opt
   (memq val '(top center bottom)))
 (define-opt sub-ass? boolean)
 (define-opt sub-ass-force-margins? boolean)
-(define-opt
-  sub-ass-hinting
-  enumeration
-  (memq val '(none light normal native)))
 (define-opt sub-ass-justify? boolean)
-(define-opt
-  sub-ass-line-spacing
-  float
-  (>= val -1000)
-  (<= val 1000))
 (define-opt
   sub-ass-override
   enumeration
   (memq val '(no yes scale force strip)))
-(define-opt sub-ass-scale-with-window? boolean)
 (define-opt
-  sub-ass-shaper
-  enumeration
-  (memq val '(simple complex)))
+  sub-ass-prune-delay
+  double
+  (>= val -1))
+(define-opt sub-ass-scale-with-window? boolean)
 (define-opt
   sub-ass-style-overrides
   list-of-string)
@@ -1850,12 +1849,21 @@ (define-opt
   (>= val 0)
   (<= val 3))
 (define-opt sub-gray? boolean)
+(define-opt
+  sub-hinting
+  enumeration
+  (memq val '(none light normal native)))
 (define-opt sub-italic? boolean)
 (define-opt
   sub-justify
   enumeration
   (memq val '(auto left center right)))
 (define-opt sub-lavc-o list-of-key-value)
+(define-opt
+  sub-line-spacing
+  float
+  (>= val -1000)
+  (<= val 1000))
 (define-opt
   sub-margin-x
   integer
@@ -1880,8 +1888,13 @@ (define-opt
   (>= val 0)
   (<= val 100))
 (define-opt sub-scale-by-window? boolean)
+(define-opt sub-scale-signs? boolean)
 (define-opt sub-scale-with-window? boolean)
 (define-opt sub-shadow-offset float)
+(define-opt
+  sub-shaper
+  enumeration
+  (memq val '(simple complex)))
 (define-opt
   sub-spacing
   float
@@ -1950,7 +1963,10 @@ (define-opt
           sinc
           lanczos
           spline)))
-(define-opt target-colorspace-hint? boolean)
+(define-opt
+  target-colorspace-hint
+  enumeration
+  (memq val '(auto no yes)))
 (define-opt
   target-contrast
   enumeration
@@ -2193,13 +2209,6 @@ (define-opt
   enumeration
   (memq val
         '(none default nonref bidir nonkey all)))
-(define-opt
-  vd-lavc-software-fallback
-  enumeration
-  (or (memq val '(no yes))
-      (and (integer? val)
-           (>= val 1)
-           (<= val 2147483647))))
 (define-opt vd-lavc-threads integer (>= val 0))
 (define-opt vd-queue-enable? boolean)
 (define-opt
@@ -2231,11 +2240,11 @@ (define-opt
 (define-opt
   video-aspect-method
   enumeration
-  (memq val '(bitstream container)))
+  (memq val '(bitstream container ignore)))
 (define-opt
   video-aspect-override
   aspect
-  (>= val -1)
+  (>= val -2)
   (<= val 10))
 (define-opt
   video-backward-batch
@@ -2277,6 +2286,7 @@ (define-opt
   (memq val '(auto limited full)))
 (define-opt video-pan-x float)
 (define-opt video-pan-y float)
+(define-opt video-recenter? boolean)
 (define-opt
   video-reversal-buffer
   byte-size
@@ -2511,6 +2521,7 @@ (define-opt
   enumeration
   (memq val
         '(auto fifo fifo-relaxed mailbox immediate)))
+(define-opt watch-history-path string)
 (define-opt watch-later-directory string)
 (define-opt watch-later-options list-of-string)
 (define-opt wayland-app-id string)
@@ -2533,6 +2544,10 @@ (define-opt
   integer
   (>= val 0)
   (<= val 2147483647))
+(define-opt
+  wayland-internal-vsync
+  enumeration
+  (memq val '(no auto yes)))
 (define-opt wayland-present? boolean)
 (define-opt wid integer64)
 (define-opt window-dragging? boolean)
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#78597; Package guix-patches. (Tue, 27 May 2025 12:33:02 GMT) Full text and rfc822 format available.

Message #20 received at 78597 <at> debbugs.gnu.org (full text, mbox):

From: Sergey Trofimov <sarg <at> sarg.org.ru>
To: Tomas Volf <~@wolfsden.cz>
Cc: 78597 <at> debbugs.gnu.org
Subject: Re: [PATCH v2 2/2] home-mpv-configuration: Support file-like for
 file fields.
Date: Tue, 27 May 2025 14:32:38 +0200
Hi Tomas,

Tomas Volf <~@wolfsden.cz> writes:

[...]
> v2: Use ":" instead of "," for list of files.
>
>  doc/guix.texi             |  3 +-
>  gnu/home/services/mpv.scm | 94 +++++++++++++++++++++++----------------

please rebase the patch. v1 got merged meanwhile




Information forwarded to guix-patches <at> gnu.org:
bug#78597; Package guix-patches. (Tue, 27 May 2025 12:45:02 GMT) Full text and rfc822 format available.

Message #23 received at 78597 <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: Sergey Trofimov <sarg <at> sarg.org.ru>
Cc: 78597 <at> debbugs.gnu.org
Subject: Re: [bug#74801] [PATCH v4] gnu: home: services: Add
 home-mpv-service-type.
Date: Tue, 27 May 2025 14:44:32 +0200
Sergey Trofimov <sarg <at> sarg.org.ru> writes:

> Hi Tomas,
>
> Tomas Volf <~@wolfsden.cz> writes:
>
>> Hi,
>>
>> could you give https://issues.guix.gnu.org/78597 a try?
>
> list-of-files should be joined with ":"
>
> diff --git a/gnu/home/services/mpv.scm b/gnu/home/services/mpv.scm
> index 50d3f06c46..54c6b86680 100644
> --- a/gnu/home/services/mpv.scm
> +++ b/gnu/home/services/mpv.scm
> @@ -227,7 +227,7 @@ (define (mpv/list-of-string? lst)
>  (define (serialize-mpv/list-of-file field-name lst)
>    #~(string-append #$(symbol->string field-name)
>                     "="
> -                   (string-join '#$lst ",")
> +                   (string-join '#$lst ":")
>                     "\n"))
>  (define (mpv/list-of-file? lst)
>    (every mpv/file? lst))
>
>
> it works with this patch in place, here is my conf for reference:
>
> (service home-mpv-service-type
>                   (make-home-mpv-configuration
>                    #:global
>                    (make-mpv-profile-configuration
>                     #:audio-display 'no
>                     #:hwdec '("auto")
>                     #:fullscreen? #t
>                     #:sub-font-size 24
>                     #:x11-name "mpv"
>                     #:ytdl-format "bestvideo[height<=?900]+bestaudio"
>                     #:osd-fonts-dir (file-append (pkg "mpv-uosc") "/share/mpv/fonts")
>                     #:script-opts '(("network" . "yes")) ; thumbfast
>                     #:input-conf
>                     (plain-file "input.conf"
>                                 (string-join
>                                  '("q quit-watch-later"
>                                    "h seek -5" "l seek 5"
>                                    "H seek -60" "L seek 60")
>                                  "\n"))
>                     #:scripts (list
>                                (file-append (pkg "mpv-mpris") "/lib/mpris.so")
>                                (file-append (pkg "mpv-thumbfast") "/share/mpv/scripts/thumbfast.lua")
>                                (file-append (pkg "mpv-uosc") "/share/mpv/scripts/uosc")))))

Thank you for testing, I have sent a v2 that uses the ":".

> One last thing - I'd allow mpv/string to take symbols:
> `#:hwdec '(auto)` or `#:script-opts '((network . yes))` look better

I like the split of using symbols for enums with well defined values,
and strings for arbitrary inputs.

While I agree that #:hwdec '(auto) might be more aesthetically pleasing
compared to #:hwdec '("auto"), for non-list values, the difference is
minimal '/home/user/.mpv.cookies and "/home/user/.mpv.cookies" are close
enough.  And, for list values, it would allow mixing strings and symbols
in a single list which is somewhat meh.

So, ugh, I probably prefer the current, more strict, approach, but you
are of course free to send a patch and see if it will be accepted (I
mean, it probably will ¯\_(ツ)_/¯).

Tomas

-- 
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.




Information forwarded to andrew <at> trop.in, hako <at> ultrarare.space, janneke <at> gnu.org, ludo <at> gnu.org, tanguy <at> bioneland.org, guix-patches <at> gnu.org:
bug#78597; Package guix-patches. (Tue, 27 May 2025 12:50:02 GMT) Full text and rfc822 format available.

Message #26 received at 78597 <at> debbugs.gnu.org (full text, mbox):

From: Tomas Volf <~@wolfsden.cz>
To: 78597 <at> debbugs.gnu.org
Cc: Tomas Volf <~@wolfsden.cz>, Sergey Trofimov <sarg <at> sarg.org.ru>
Subject: [PATCH v3] home-mpv-configuration: Fix mpv/list-of-file.
Date: Tue, 27 May 2025 14:48:32 +0200
* gnu/home/services/mpv.scm (serialize-mpv/list-of-file): Use : as delimiter.

Reported-by: Sergey Trofimov <sarg <at> sarg.org.ru>
Change-Id: I7e55b306104c235d165ab138397b767f1af5c124
---
v2: Use : as delimiter in mpv/list-of-file.
v3: Rebase on master.

 gnu/home/services/mpv.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/home/services/mpv.scm b/gnu/home/services/mpv.scm
index 50d3f06c46..54c6b86680 100644
--- a/gnu/home/services/mpv.scm
+++ b/gnu/home/services/mpv.scm
@@ -227,7 +227,7 @@ (define (mpv/list-of-string? lst)
 (define (serialize-mpv/list-of-file field-name lst)
   #~(string-append #$(symbol->string field-name)
                    "="
-                   (string-join '#$lst ",")
+                   (string-join '#$lst ":")
                    "\n"))
 (define (mpv/list-of-file? lst)
   (every mpv/file? lst))
--
2.49.0




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Mon, 09 Jun 2025 20:08:26 GMT) Full text and rfc822 format available.

Notification sent to Tomas Volf <~@wolfsden.cz>:
bug acknowledged by developer. (Mon, 09 Jun 2025 20:08:27 GMT) Full text and rfc822 format available.

Message #31 received at 78597-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Tomas Volf <~@wolfsden.cz>
Cc: Tanguy Le Carrour <tanguy <at> bioneland.org>,
 Sergey Trofimov <sarg <at> sarg.org.ru>, Andrew Tropin <andrew <at> trop.in>,
 Hilton Chain <hako <at> ultrarare.space>, 78597-done <at> debbugs.gnu.org,
 Janneke Nieuwenhuizen <janneke <at> gnu.org>
Subject: Re: bug#78597: [PATCH 0/2] Update mpv configuration
Date: Mon, 09 Jun 2025 19:39:54 +0200
Tomas Volf <~@wolfsden.cz> writes:

> * gnu/home/services/mpv.scm (serialize-mpv/list-of-file): Use : as delimiter.
>
> Reported-by: Sergey Trofimov <sarg <at> sarg.org.ru>
> Change-Id: I7e55b306104c235d165ab138397b767f1af5c124

Applied, thanks!




This bug report was last modified 5 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.