;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz> ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu home services mpv) #:use-module (gnu home services) #:use-module (gnu services configuration) #:use-module (guix gexp) #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (srfi srfi-1) #:use-module (srfi srfi-2) #:use-module (srfi srfi-26) #:use-module (srfi srfi-71) #:export (home-mpv-configuration home-mpv-configuration? home-mpv-configuration-global home-mpv-configuration-profiles home-mpv-configuration-extra home-mpv-configuration-source-location mpv-profile-configuration mpv-profile-configuration? mpv-profile-configuration-source-location ;; Generated exports - START. ;; Generated exports - END. )) ;;; ;;; Basic types. ;;; (define-maybe type/boolean) (define (serialize-type/boolean field-name value) #~(string-append #$(symbol->string field-name) "=" #$(if value "yes" "no") "\n")) (define type/boolean? (const #t)) (define-maybe type/integer) (define (serialize-type/integer field-name value) #~(string-append #$(symbol->string field-name) "=" #$(number->string value) "\n")) (define (type/integer? n) ;; We assume integer is a signed 32bit number. (and-let* (((integer? n)) ((>= n -2147483648)) ((<= n 2147483647))))) (define-maybe type/integer64) (define (serialize-type/integer64 field-name value) #~(string-append #$(symbol->string field-name) "=" #$(number->string value) "\n")) (define (type/integer64? n) ;; We assume integer is a signed 64bit number. (and-let* (((integer? n)) ((>= n -9223372036854775808)) ((<= n 9223372036854775807))))) (define-maybe type/string) (define (serialize-type/string field-name value) #~(string-append #$(symbol->string field-name) "=" #$value "\n")) (define type/string? string?) (define-maybe type/float) (define (serialize-type/float field-name value) #~(string-append #$(symbol->string field-name) "=" #$(number->string (exact->inexact value)) "\n")) (define type/float? ;; I am not sure how to validate floats. real?) (define-maybe type/double) (define (serialize-type/double field-name value) #~(string-append #$(symbol->string field-name) "=" #$(number->string (exact->inexact value)) "\n")) (define (type/double? value) ;; I am not sure how to validate doubles. real?) ;;; ;;; Additional types (possible based on the basic ones). ;;; ;;; Aspect seems to be treated as an integer, so define it in terms of it. (define-maybe type/aspect) (define serialize-type/aspect serialize-type/integer) (define type/aspect? type/integer?) ;;; `Audio channels or channel map' seems to be basically a free form string ;;; with no way to validate. (define-maybe type/audio-channels-or-channel-map) (define serialize-type/audio-channels-or-channel-map serialize-type/string) (define type/audio-channels-or-channel-map? type/string?) ;;; Does not seem possible to validate. (define-maybe type/audio-format) (define serialize-type/audio-format serialize-type/string) (define type/audio-format? type/string?) ;;; While most options list 4.6116860184274e+18 as a maximum value, we will ;;; use integer64 here. That should be enough for everyone for few more ;;; years. (define-maybe type/byte-size) (define serialize-type/byte-size serialize-type/integer64) (define type/byte-size? type/integer64?) (define-maybe type/color) (define (serialize-type/color field-name value) #~(string-append #$(symbol->string field-name) "=" #$(if (list? value) (string-join (map number->string value) "/") value) "\n")) (define (type/color? value) (define (ok-num? n) (and (number? n) (>= n 0) (<= n 1))) (if (list? value) ;; Either a list of 3(4) numbers encoding RGB(A) on range from 0 to 1... (match value (((? ok-num? r) (? ok-num? g) (? ok-num? b)) #t) (((? ok-num? r) (? ok-num? g) (? ok-num? b) (? ok-num? alpha)) #t) (_ #f)) ;; ... or RGB(A) hex encoding. (string-match "^#([A-Fa-f0-9]{2})?[A-Fa-f0-9]{6}$" value))) ;;; I do not see value mirroring fourcc.org's database here. It is further ;;; complicated by arbitrary hex being accepted as well. So string it is. (define-maybe type/fourcc) (define serialize-type/fourcc serialize-type/string) (define type/fourcc? type/string?) ;;; No way to validate. (define-maybe type/image-format) (define serialize-type/image-format serialize-type/string) (define type/image-format? type/string?) ;;; Looking at the documentation for --start, there is no way to make this ;;; bullet-proof, especially since even chapter numbers are accepted. (define-maybe type/relative-time-or-percent-position) (define serialize-type/relative-time-or-percent-position serialize-type/string) (define type/relative-time-or-percent-position? type/string?) (define-maybe type/time) (define serialize-type/time serialize-type/string) (define type/time? type/string?) (define-maybe type/video-rectangle) (define serialize-type/video-rectangle serialize-type/string) (define (type/video-rectangle? value) (or (string-match "-?[0-9]+%?:-?[0-9]+%?" value) (string-match "^(-?[0-9]+%?(x-?[0-9]+%?)?)?([+-]-?[0-9]+%?[+-]-?[0-9]+%?)?$" value))) (define-maybe type/window-geometry) (define serialize-type/window-geometry serialize-type/string) (define (type/window-geometry? value) (or (string-match "-?[0-9]+%?:-?[0-9]+%?" value) (string-match "^(-?[0-9]+%?(x-?[0-9]+%?)?)?([+-]-?[0-9]+%?[+-]-?[0-9]+%?)?(/[0-9]+)?$" value))) (define-maybe type/window-size) (define serialize-type/window-size serialize-type/string) (define (type/window-size? value) (string-match "^([0-9]+%?(x[0-9]+%?)?)?$" value)) (define-maybe type/enumeration) (define (serialize-type/enumeration field-name value) #~(string-append #$(symbol->string field-name) "=" ;; This could be either symbol or (in case of enumerations ;; with alternate type) anything. So just use `format'. #$(format #f "~s" value) "\n")) (define (type/enumeration? value) ;; There is no general way to check enumerations. The field always has to ;; define custom sanitizer. #t) ;;; ;;; List types. ;;; (define-maybe type/list-of-string) (define (serialize-type/list-of-string field-name lst) #~(string-append #$(symbol->string field-name) "=" #$(string-join lst ",") "\n")) (define (type/list-of-string? lst) (every type/string? lst)) (define-maybe type/list-of-key-value) (define (serialize-type/list-of-key-value field-name lst) #~(string-append #$(symbol->string field-name) "=" #$(string-join (map (match-lambda ((k . v) (format #f "~a=~a" k v))) lst) ",") "\n")) (define (type/list-of-key-value? lst) (every (match-lambda (((? string?) . (? string?)) #t) (_ #f)) lst)) (define-maybe type/list-of-object-setting) (define serialize-type/list-of-object-setting serialize-type/list-of-string) (define type/list-of-object-setting? type/list-of-string?) (define-maybe type/list-of-output-verbosity) (define serialize-type/list-of-output-verbosity serialize-type/list-of-key-value) (define type/list-of-output-verbosity? type/list-of-key-value?) ;;; ;;; Actual configuration record. Contains a lot of generated code. ;;; ;;; Generated code - START. (define-configuration mpv-profile-configuration (ab-loop-a maybe-type/time "") (ab-loop-b maybe-type/time "") (ab-loop-count maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(inf)) (and (maybe-type/integer? val) (>= val 0) (<= val 2147483647)))))))) (access-references maybe-type/boolean "") (ad maybe-type/string "") (ad-lavc-ac3drc maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 6)))))) (ad-lavc-downmix maybe-type/boolean "") (ad-lavc-o maybe-type/list-of-key-value "") (ad-lavc-threads maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 16)))))) (ad-queue-enable maybe-type/boolean "") (ad-queue-max-bytes maybe-type/byte-size "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/byte-size? val) (>= val 0) (<= val 4.6116860184274e18)))))) (ad-queue-max-samples maybe-type/integer64 "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer64? val) (>= val 0) (<= val +inf.0)))))) (ad-queue-max-secs maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (af maybe-type/list-of-object-setting "") (audio maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no auto)) (and (maybe-type/integer? val) (>= val 0) (<= val 8190)))))))) (alang maybe-type/list-of-string "") (allow-delayed-peak-detect maybe-type/boolean "") (alsa-buffer-time maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 2147483647)))))) (alsa-ignore-chmap maybe-type/boolean "") (alsa-mixer-device maybe-type/string "") (alsa-mixer-index maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 99)))))) (alsa-mixer-name maybe-type/string "") (alsa-non-interleaved maybe-type/boolean "") (alsa-periods maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 2147483647)))))) (alsa-resample maybe-type/boolean "") (ao maybe-type/list-of-object-setting "") (ao-null-broken-delay maybe-type/boolean "") (ao-null-broken-eof maybe-type/boolean "") (ao-null-buffer maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 100)))))) (ao-null-channel-layouts maybe-type/audio-channels-or-channel-map "") (ao-null-format maybe-type/audio-format "") (ao-null-latency maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 100)))))) (ao-null-outburst maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 100000)))))) (ao-null-speed maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 10000)))))) (ao-null-untimed maybe-type/boolean "") (ao-pcm-append maybe-type/boolean "") (ao-pcm-file maybe-type/string "") (ao-pcm-waveheader maybe-type/boolean "") (audio-backward-batch maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 1024)))))) (audio-backward-overlap maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(auto)) (and (maybe-type/integer? val) (>= val 0) (<= val 1024)))))))) (audio-buffer maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val 10)))))) (audio-channels maybe-type/audio-channels-or-channel-map "") (audio-client-name maybe-type/string "") (audio-delay maybe-type/float "") (audio-demuxer maybe-type/string "") (audio-device maybe-type/string "") (audio-display maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no embedded-first external-first))))))) (audio-exclusive maybe-type/boolean "") (audio-exts maybe-type/list-of-string "") (audio-fallback-to-null maybe-type/boolean "") (audio-file-auto maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no exact fuzzy all))))))) (audio-file-paths maybe-type/list-of-string "") (audio-files maybe-type/list-of-string "") (audio-format maybe-type/audio-format "") (audio-normalize-downmix maybe-type/boolean "") (audio-pitch-correction maybe-type/boolean "") (audio-resample-cutoff maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val 1)))))) (audio-resample-filter-size maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 32)))))) (audio-resample-linear maybe-type/boolean "") (audio-resample-max-output-size maybe-type/double "") (audio-resample-phase-shift maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 30)))))) (audio-reversal-buffer maybe-type/byte-size "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/byte-size? val) (>= val 0) (<= val 4.6116860184274e18)))))) (audio-samplerate maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 768000)))))) (audio-spdif maybe-type/string "") (audio-stream-silence maybe-type/boolean "") (audio-swresample-o maybe-type/list-of-key-value "") (audio-wait-open maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 60)))))) (auto-window-resize maybe-type/boolean "") (autocreate-playlist maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no filter same))))))) (autofit maybe-type/window-size "") (autofit-larger maybe-type/window-size "") (autofit-smaller maybe-type/window-size "") (autoload-files maybe-type/boolean "") (autosync maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no)) (and (maybe-type/integer? val) (>= val 0) (<= val 10000)))))))) (background maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(none color tiles))))))) (background-color maybe-type/color "") (blend-subtitles maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes video))))))) (bluray-device maybe-type/string "") (border maybe-type/boolean "") (border-background maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(none color tiles))))))) (brightness maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -100) (<= val 100)))))) (cache maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no auto yes))))))) (cache-on-disk maybe-type/boolean "") (cache-pause maybe-type/boolean "") (cache-pause-initial maybe-type/boolean "") (cache-pause-wait maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val +inf.0)))))) (cache-secs maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (cdda-cdtext maybe-type/boolean "") (cdda-device maybe-type/string "") (cdda-overlap maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 75)))))) (cdda-paranoia maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 2)))))) (cdda-sector-size maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 100)))))) (cdda-skip maybe-type/boolean "") (cdda-span-a maybe-type/integer "") (cdda-span-b maybe-type/integer "") (cdda-speed maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 100)))))) (cdda-toc-offset maybe-type/integer "") (chapter-merge-threshold maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 10000)))))) (chapter-seek-threshold maybe-type/double "") (chapters-file maybe-type/string "") (config maybe-type/boolean "") (container-fps-override maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (contrast maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -100) (<= val 100)))))) (cookies maybe-type/boolean "") (cookies-file maybe-type/string "") (corner-rounding maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (correct-downscaling maybe-type/boolean "") (correct-pts maybe-type/boolean "") (cover-art-auto maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no exact fuzzy all))))))) (cover-art-files maybe-type/list-of-string "") (cover-art-whitelist maybe-type/list-of-string "") (cscale maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(bilinear bicubic_fast oversample spline16 spline36 spline64 sinc lanczos ginseng bicubic hermite catmull_rom mitchell robidoux robidouxsharp box nearest triangle gaussian jinc ewa_lanczos ewa_hanning ewa_ginseng ewa_lanczossharp ewa_lanczos4sharpest ewa_lanczossoft haasnsoft ewa_robidoux ewa_robidouxsharp bartlett cosine hanning tukey hamming quadric welch kaiser blackman sphinx))))))) (cscale-antiring maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (cscale-blur maybe-type/float "") (cscale-clamp maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (cscale-param1 maybe-type/float "") (cscale-param2 maybe-type/float "") (cscale-radius maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0.5) (<= val 16)))))) (cscale-taper maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (cscale-window maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(bartlett cosine hanning tukey hamming quadric welch kaiser blackman sphinx jinc))))))) (cscale-wparam maybe-type/float "") (cscale-wtaper maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (cursor-autohide maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no always)) (and (maybe-type/integer? val) (>= val 0) (<= val 30000)))))))) (cursor-autohide-fs-only maybe-type/boolean "") (deband maybe-type/boolean "") (deband-grain maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 4096)))))) (deband-iterations maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 16)))))) (deband-range maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 1) (<= val 64)))))) (deband-threshold maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 4096)))))) (deinterlace maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes auto))))))) (deinterlace-field-parity maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(tff bff auto))))))) (demuxer maybe-type/string "") (demuxer-backward-playback-step maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (demuxer-cache-dir maybe-type/string "") (demuxer-cache-unlink-files maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(immediate whendone no))))))) (demuxer-cache-wait maybe-type/boolean "") (demuxer-donate-buffer maybe-type/boolean "") (demuxer-hysteresis-secs maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (demuxer-lavf-allow-mimetype maybe-type/boolean "") (demuxer-lavf-analyzeduration maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 3600)))))) (demuxer-lavf-buffersize maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 10485760)))))) (demuxer-lavf-format maybe-type/string "") (demuxer-lavf-hacks maybe-type/boolean "") (demuxer-lavf-linearize-timestamps maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no auto yes))))))) (demuxer-lavf-o maybe-type/list-of-key-value "") (demuxer-lavf-probe-info maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes auto nostreams))))))) (demuxer-lavf-probescore maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 100)))))) (demuxer-lavf-probesize maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 32) (<= val 2147483647)))))) (demuxer-lavf-propagate-opts maybe-type/boolean "") (demuxer-max-back-bytes maybe-type/byte-size "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/byte-size? val) (>= val 0) (<= val 4.6116860184274e18)))))) (demuxer-max-bytes maybe-type/byte-size "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/byte-size? val) (>= val 0) (<= val 4.6116860184274e18)))))) (demuxer-mkv-probe-start-time maybe-type/boolean "") (demuxer-mkv-probe-video-duration maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes full))))))) (demuxer-mkv-subtitle-preroll maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes index))))))) (demuxer-mkv-subtitle-preroll-secs maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (demuxer-mkv-subtitle-preroll-secs-index maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (demuxer-rawaudio-channels maybe-type/audio-channels-or-channel-map "") (demuxer-rawaudio-format maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(u8 s8 u16le u16be s16le s16be u24le u24be s24le s24be u32le u32be s32le s32be floatle floatbe doublele doublebe u16 s16 u24 s24 u32 s32 float double))))))) (demuxer-rawaudio-rate maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1000) (<= val 384000)))))) (demuxer-rawvideo-codec maybe-type/string "") (demuxer-rawvideo-format maybe-type/fourcc "") (demuxer-rawvideo-fps maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0.001) (<= val 1000)))))) (demuxer-rawvideo-h maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 8192)))))) (demuxer-rawvideo-mp-format maybe-type/image-format "") (demuxer-rawvideo-size maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 268435456)))))) (demuxer-rawvideo-w maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 8192)))))) (demuxer-readahead-secs maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (demuxer-seekable-cache maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto no yes))))))) (demuxer-termination-timeout maybe-type/double "") (demuxer-thread maybe-type/boolean "") (directory-filter-types maybe-type/list-of-string "") (directory-mode maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto lazy recursive ignore))))))) (display-fps-override maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (display-tags maybe-type/list-of-string "") (dither maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(fruit ordered error-diffusion no))))))) (dither-depth maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no auto)) (and (maybe-type/integer? val) (>= val -1) (<= val 16)))))))) (dither-size-fruit maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 2) (<= val 8)))))) (drag-and-drop maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no auto replace append insert-next))))))) (drm-connector maybe-type/string "") (drm-device maybe-type/string "") (drm-draw-plane maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(primary overlay)) (and (maybe-type/integer? val) (>= val 0) (<= val 2147483647)))))))) (drm-draw-surface-size maybe-type/window-size "") (drm-drmprime-video-plane maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(primary overlay)) (and (maybe-type/integer? val) (>= val 0) (<= val 2147483647)))))))) (drm-format maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(xrgb8888 xrgb2101010 xbgr8888 xbgr2101010 yuyv))))))) (drm-mode maybe-type/string "") (drm-vrr-enabled maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes auto))))))) (dscale maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(bilinear bicubic_fast oversample spline16 spline36 spline64 sinc lanczos ginseng bicubic hermite catmull_rom mitchell robidoux robidouxsharp box nearest triangle gaussian jinc ewa_lanczos ewa_hanning ewa_ginseng ewa_lanczossharp ewa_lanczos4sharpest ewa_lanczossoft haasnsoft ewa_robidoux ewa_robidouxsharp bartlett cosine hanning tukey hamming quadric welch kaiser blackman sphinx))))))) (dscale-antiring maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (dscale-blur maybe-type/float "") (dscale-clamp maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (dscale-param1 maybe-type/float "") (dscale-param2 maybe-type/float "") (dscale-radius maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0.5) (<= val 16)))))) (dscale-taper maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (dscale-window maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(bartlett cosine hanning tukey hamming quadric welch kaiser blackman sphinx jinc))))))) (dscale-wparam maybe-type/float "") (dscale-wtaper maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (dump-stats maybe-type/string "") (dvbin-card maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 15)))))) (dvbin-channel-switch-offset maybe-type/integer "") (dvbin-file maybe-type/string "") (dvbin-full-transponder maybe-type/boolean "") (dvbin-prog maybe-type/string "") (dvbin-timeout maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 30)))))) (dvd-angle maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 99)))))) (dvd-device maybe-type/string "") (dvd-speed maybe-type/integer "") (edition maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(auto)) (and (maybe-type/integer? val) (>= val 0) (<= val 8190)))))))) (egl-config-id maybe-type/integer "") (egl-output-format maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto rgb8 rgba8 rgb10 rgb10_a2 rgb16 rgba16 rgb16f rgba16f rgb32f rgba32f))))))) (embeddedfonts maybe-type/boolean "") (end maybe-type/relative-time-or-percent-position "") (error-diffusion maybe-type/string "") (external-files maybe-type/list-of-string "") (fbo-format maybe-type/string "") (focus-on maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(never open all))))))) (force-media-title maybe-type/string "") (force-render maybe-type/boolean "") (force-rgba-osd-rendering maybe-type/boolean "") (force-seekable maybe-type/boolean "") (force-window maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes immediate))))))) (force-window-position maybe-type/boolean "") (framedrop maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no vo decoder decoder+vo))))))) (frames maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(all)) (and (maybe-type/integer? val) (>= val 0) (<= val 2147483647)))))))) (fs-screen maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(all current)) (and (maybe-type/integer? val) (>= val 0) (<= val 32)))))))) (fs-screen-name maybe-type/string "") (fullscreen maybe-type/boolean "") (gamma maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -100) (<= val 100)))))) (gamma-auto maybe-type/boolean "") (gamma-factor maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0.1) (<= val 2)))))) (gamut-mapping-mode maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto clip perceptual relative saturation absolute desaturate darken warn linear))))))) (gapless-audio maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes weak))))))) (geometry maybe-type/window-geometry "") (glsl-shader-opts maybe-type/list-of-key-value "") (glsl-shaders maybe-type/list-of-string "") (gpu-api maybe-type/list-of-object-setting "") (gpu-context maybe-type/list-of-object-setting "") (gpu-debug maybe-type/boolean "") (gpu-dumb-mode maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto yes no))))))) (gpu-hwdec-interop maybe-type/string "") (gpu-shader-cache maybe-type/boolean "") (gpu-shader-cache-dir maybe-type/string "") (gpu-sw maybe-type/boolean "") (gpu-tex-pad-x maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 4096)))))) (gpu-tex-pad-y maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 4096)))))) (hdr-compute-peak maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto yes no))))))) (hdr-contrast-recovery maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 2)))))) (hdr-contrast-smoothness maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 1) (<= val 100)))))) (hdr-peak-decay-rate maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1000)))))) (hdr-peak-percentile maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 100)))))) (hdr-scene-threshold-high maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 20)))))) (hdr-scene-threshold-low maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 20)))))) (hidpi-window-scale maybe-type/boolean "") (hls-bitrate maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no min max)) (and (maybe-type/integer? val) (>= val 0) (<= val 2147483647)))))))) (hr-seek maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no absolute yes always default))))))) (hr-seek-demuxer-offset maybe-type/float "") (hr-seek-framedrop maybe-type/boolean "") (http-header-fields maybe-type/list-of-string "") (http-proxy maybe-type/string "") (hue maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -100) (<= val 100)))))) (hwdec maybe-type/list-of-string "") (hwdec-codecs maybe-type/string "") (hwdec-extra-frames maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 256)))))) (hwdec-image-format maybe-type/image-format "") (icc-3dlut-size maybe-type/string "") (icc-cache maybe-type/boolean "") (icc-cache-dir maybe-type/string "") (icc-force-contrast maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no inf)) (and (maybe-type/integer? val) (>= val 0) (<= val 1000000)))))))) (icc-intent maybe-type/integer "") (icc-profile maybe-type/string "") (icc-profile-auto maybe-type/boolean "") (icc-use-luma maybe-type/boolean "") (idle maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no once yes))))))) (ignore-path-in-watch-later-config maybe-type/boolean "") (image-display-duration maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (image-exts maybe-type/list-of-string "") (image-lut maybe-type/string "") (image-lut-type maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto native normalized conversion))))))) (image-subs-video-resolution maybe-type/boolean "") (include maybe-type/string "") (index maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(default recreate))))))) (initial-audio-sync maybe-type/boolean "") (input-ar-delay maybe-type/integer "") (input-ar-rate maybe-type/integer "") (input-builtin-bindings maybe-type/boolean "") (input-builtin-dragging maybe-type/boolean "") (input-commands maybe-type/list-of-string "") (input-conf maybe-type/string "") (input-cursor maybe-type/boolean "") (input-cursor-passthrough maybe-type/boolean "") (input-default-bindings maybe-type/boolean "") (input-doubleclick-time maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 1000)))))) (input-dragging-deadzone maybe-type/integer "") (input-ipc-client maybe-type/string "") (input-ipc-server maybe-type/string "") (input-key-fifo-size maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 2) (<= val 65000)))))) (input-media-keys maybe-type/boolean "") (input-preprocess-wheel maybe-type/boolean "") (input-right-alt-gr maybe-type/boolean "") (input-terminal maybe-type/boolean "") (input-test maybe-type/boolean "") (input-touch-emulate-mouse maybe-type/boolean "") (input-vo-keyboard maybe-type/boolean "") (interpolation maybe-type/boolean "") (interpolation-preserve maybe-type/boolean "") (interpolation-threshold maybe-type/float "") (inverse-tone-mapping maybe-type/boolean "") (jack-autostart maybe-type/boolean "") (jack-connect maybe-type/boolean "") (jack-name maybe-type/string "") (jack-port maybe-type/string "") (jack-std-channel-layout maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(waveext any))))))) (keep-open maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes always))))))) (keep-open-pause maybe-type/boolean "") (keepaspect maybe-type/boolean "") (keepaspect-window maybe-type/boolean "") (lavfi-complex maybe-type/string "") (length maybe-type/relative-time-or-percent-position "") (libplacebo-opts maybe-type/list-of-key-value "") (linear-downscaling maybe-type/boolean "") (linear-upscaling maybe-type/boolean "") (load-auto-profiles maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes auto))))))) (load-osd-console maybe-type/boolean "") (load-scripts maybe-type/boolean "") (load-select maybe-type/boolean "") (load-stats-overlay maybe-type/boolean "") (load-unsafe-playlists maybe-type/boolean "") (log-file maybe-type/string "") (loop-file maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no inf yes)) (and (maybe-type/integer? val) (>= val 0) (<= val 10000)))))))) (loop-playlist maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no inf yes force)) (and (maybe-type/integer? val) (>= val 1) (<= val 10000)))))))) (lut maybe-type/string "") (lut-type maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto native normalized conversion))))))) (mc maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 100)))))) (media-controls maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no player yes))))))) (merge-files maybe-type/boolean "") (metadata-codepage maybe-type/string "") (mf-fps maybe-type/double "") (mf-type maybe-type/string "") (monitoraspect maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 9)))))) (monitorpixelaspect maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0.03125) (<= val 32)))))) (msg-color maybe-type/boolean "") (msg-level maybe-type/list-of-output-verbosity "") (msg-module maybe-type/boolean "") (msg-time maybe-type/boolean "") (mute maybe-type/boolean "") (native-fs maybe-type/boolean "") (native-keyrepeat maybe-type/boolean "") (native-touch maybe-type/boolean "") (network-timeout maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (oac maybe-type/string "") (oacopts maybe-type/list-of-key-value "") (ocopy-metadata maybe-type/boolean "") (of maybe-type/string "") (ofopts maybe-type/list-of-key-value "") (on-all-workspaces maybe-type/boolean "") (ontop maybe-type/boolean "") (ontop-level maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(window system desktop)) (and (maybe-type/integer? val) (>= val 0) (<= val 2147483647)))))))) (opengl-check-pattern-a maybe-type/integer "") (opengl-check-pattern-b maybe-type/integer "") (opengl-early-flush maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes auto))))))) (opengl-es maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto yes no))))))) (opengl-glfinish maybe-type/boolean "") (opengl-pbo maybe-type/boolean "") (opengl-rectangle-textures maybe-type/boolean "") (opengl-swapinterval maybe-type/integer "") (opengl-waitvsync maybe-type/boolean "") (orawts maybe-type/boolean "") (ordered-chapters maybe-type/boolean "") (ordered-chapters-files maybe-type/string "") (oremove-metadata maybe-type/list-of-string "") (osc maybe-type/boolean "") (osd-align-x maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(left center right))))))) (osd-align-y maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(top center bottom))))))) (osd-back-color maybe-type/color "") (osd-bar maybe-type/boolean "") (osd-bar-align-x maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -1) (<= val 1)))))) (osd-bar-align-y maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -1) (<= val 1)))))) (osd-bar-h maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0.1) (<= val 50)))))) (osd-bar-outline-size maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1000)))))) (osd-bar-w maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 1) (<= val 100)))))) (osd-blur maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 20)))))) (osd-bold maybe-type/boolean "") (osd-border-style maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(outline-and-shadow opaque-box background-box))))))) (osd-color maybe-type/color "") (osd-duration maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 3600000)))))) (osd-font maybe-type/string "") (osd-font-provider maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto none fontconfig))))))) (osd-font-size maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 1) (<= val 9000)))))) (osd-fonts-dir maybe-type/string "") (osd-fractions maybe-type/boolean "") (osd-italic maybe-type/boolean "") (osd-justify maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto left center right))))))) (osd-level maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(#{0}# #{1}# #{2}# #{3}#))))))) (osd-margin-x maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 300)))))) (osd-margin-y maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 600)))))) (osd-msg1 maybe-type/string "") (osd-msg2 maybe-type/string "") (osd-msg3 maybe-type/string "") (osd-on-seek maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no bar msg msg-bar))))))) (osd-outline-color maybe-type/color "") (osd-outline-size maybe-type/float "") (osd-playing-msg maybe-type/string "") (osd-playing-msg-duration maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 3600000)))))) (osd-playlist-entry maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(title filename both))))))) (osd-scale maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 100)))))) (osd-scale-by-window maybe-type/boolean "") (osd-shadow-offset maybe-type/float "") (osd-spacing maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -10) (<= val 10)))))) (osd-status-msg maybe-type/string "") (oset-metadata maybe-type/list-of-key-value "") (ovc maybe-type/string "") (ovcopts maybe-type/list-of-key-value "") (panscan maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (pause maybe-type/boolean "") (pitch maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0.01) (<= val 100)))))) (play-direction maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(forward + backward -))))))) (player-operation-mode maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(cplayer pseudo-gui))))))) (playlist-start maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(auto no)) (and (maybe-type/integer? val) (>= val 0) (<= val 2147483647)))))))) (prefetch-playlist maybe-type/boolean "") (profile maybe-type/list-of-string "") (pulse-allow-suspended maybe-type/boolean "") (pulse-buffer maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(native)) (and (maybe-type/integer? val) (>= val 1) (<= val 2000)))))))) (pulse-host maybe-type/string "") (pulse-latency-hacks maybe-type/boolean "") (quiet maybe-type/boolean "") (really-quiet maybe-type/boolean "") (rebase-start-time maybe-type/boolean "") (referrer maybe-type/string "") (replaygain maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no track album))))))) (replaygain-clip maybe-type/boolean "") (replaygain-fallback maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -200) (<= val 60)))))) (replaygain-preamp maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -150) (<= val 150)))))) (reset-on-next-file maybe-type/list-of-string "") (resume-playback maybe-type/boolean "") (resume-playback-check-mtime maybe-type/boolean "") (rtsp-transport maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(lavf udp tcp http udp_multicast))))))) (saturation maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -100) (<= val 100)))))) (save-position-on-quit maybe-type/boolean "") (scale maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(bilinear bicubic_fast oversample spline16 spline36 spline64 sinc lanczos ginseng bicubic hermite catmull_rom mitchell robidoux robidouxsharp box nearest triangle gaussian jinc ewa_lanczos ewa_hanning ewa_ginseng ewa_lanczossharp ewa_lanczos4sharpest ewa_lanczossoft haasnsoft ewa_robidoux ewa_robidouxsharp bartlett cosine hanning tukey hamming quadric welch kaiser blackman sphinx))))))) (scale-antiring maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (scale-blur maybe-type/float "") (scale-clamp maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (scale-param1 maybe-type/float "") (scale-param2 maybe-type/float "") (scale-radius maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0.5) (<= val 16)))))) (scale-taper maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (scale-window maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(bartlett cosine hanning tukey hamming quadric welch kaiser blackman sphinx jinc))))))) (scale-wparam maybe-type/float "") (scale-wtaper maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (scaler-resizes-only maybe-type/boolean "") (screen maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(default)) (and (maybe-type/integer? val) (>= val 0) (<= val 32)))))))) (screen-name maybe-type/string "") (screenshot-avif-encoder maybe-type/string "") (screenshot-avif-opts maybe-type/list-of-key-value "") (screenshot-avif-pixfmt maybe-type/string "") (screenshot-directory maybe-type/string "") (screenshot-format maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(jpg jpeg png webp jxl avif))))))) (screenshot-high-bit-depth maybe-type/boolean "") (screenshot-jpeg-quality maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 100)))))) (screenshot-jpeg-source-chroma maybe-type/boolean "") (screenshot-jxl-distance maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val 15)))))) (screenshot-jxl-effort maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 9)))))) (screenshot-png-compression maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 9)))))) (screenshot-png-filter maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 5)))))) (screenshot-sw maybe-type/boolean "") (screenshot-tag-colorspace maybe-type/boolean "") (screenshot-template maybe-type/string "") (screenshot-webp-compression maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 6)))))) (screenshot-webp-lossless maybe-type/boolean "") (screenshot-webp-quality maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 100)))))) (script-opts maybe-type/list-of-key-value "") (scripts maybe-type/list-of-string "") (secondary-sid maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no auto)) (and (maybe-type/integer? val) (>= val 0) (<= val 8190)))))))) (secondary-sub-ass-override maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes scale force strip))))))) (secondary-sub-delay maybe-type/float "") (secondary-sub-pos maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 150)))))) (secondary-sub-visibility maybe-type/boolean "") (sharpen maybe-type/float "") (show-in-taskbar maybe-type/boolean "") (shuffle maybe-type/boolean "") (sub maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no auto)) (and (maybe-type/integer? val) (>= val 0) (<= val 8190)))))))) (sigmoid-center maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (sigmoid-slope maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 1) (<= val 20)))))) (sigmoid-upscaling maybe-type/boolean "") (slang maybe-type/list-of-string "") (snap-window maybe-type/boolean "") (speed maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0.01) (<= val 100)))))) (spirv-compiler maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto))))))) (sstep maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (start maybe-type/relative-time-or-percent-position "") (stop-playback-on-init-failure maybe-type/boolean "") (stop-screensaver maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes always))))))) (stream-buffer-size maybe-type/byte-size "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/byte-size? val) (>= val 4096) (<= val 536870912)))))) (stream-dump maybe-type/string "") (stream-lavf-o maybe-type/list-of-key-value "") (stream-record maybe-type/string "") (stretch-dvd-subs maybe-type/boolean "") (stretch-image-subs-to-screen maybe-type/boolean "") (sub-align-x maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(left center right))))))) (sub-align-y maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(top center bottom))))))) (sub-ass maybe-type/boolean "") (sub-ass-force-margins maybe-type/boolean "") (sub-ass-hinting maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(none light normal native))))))) (sub-ass-justify maybe-type/boolean "") (sub-ass-line-spacing maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -1000) (<= val 1000)))))) (sub-ass-override maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes scale force strip))))))) (sub-ass-scale-with-window maybe-type/boolean "") (sub-ass-shaper maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(simple complex))))))) (sub-ass-style-overrides maybe-type/list-of-string "") (sub-ass-styles maybe-type/string "") (sub-ass-use-video-data maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(none aspect-ratio all))))))) (sub-ass-video-aspect-override maybe-type/aspect "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/aspect? val) (>= val 0) (<= val 10)))))) (sub-ass-vsfilter-color-compat maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no basic full force-601))))))) (sub-auto maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no exact fuzzy all))))))) (sub-auto-exts maybe-type/list-of-string "") (sub-back-color maybe-type/color "") (sub-blur maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 20)))))) (sub-bold maybe-type/boolean "") (sub-border-style maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(outline-and-shadow opaque-box background-box))))))) (sub-clear-on-seek maybe-type/boolean "") (sub-codepage maybe-type/string "") (sub-color maybe-type/color "") (sub-create-cc-track maybe-type/boolean "") (sub-delay maybe-type/float "") (sub-demuxer maybe-type/string "") (sub-file-paths maybe-type/list-of-string "") (sub-files maybe-type/list-of-string "") (sub-filter-jsre maybe-type/list-of-string "") (sub-filter-regex maybe-type/list-of-string "") (sub-filter-regex-enable maybe-type/boolean "") (sub-filter-regex-plain maybe-type/boolean "") (sub-filter-regex-warn maybe-type/boolean "") (sub-filter-sdh maybe-type/boolean "") (sub-filter-sdh-enclosures maybe-type/string "") (sub-filter-sdh-harder maybe-type/boolean "") (sub-fix-timing maybe-type/boolean "") (sub-font maybe-type/string "") (sub-font-provider maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto none fontconfig))))))) (sub-font-size maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 1) (<= val 9000)))))) (sub-fonts-dir maybe-type/string "") (sub-forced-events-only maybe-type/boolean "") (sub-fps maybe-type/float "") (sub-gauss maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 3)))))) (sub-gray maybe-type/boolean "") (sub-italic maybe-type/boolean "") (sub-justify maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto left center right))))))) (sub-lavc-o maybe-type/list-of-key-value "") (sub-margin-x maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 300)))))) (sub-margin-y maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 600)))))) (sub-outline-color maybe-type/color "") (sub-outline-size maybe-type/float "") (sub-past-video-end maybe-type/boolean "") (sub-pos maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 150)))))) (sub-scale maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 100)))))) (sub-scale-by-window maybe-type/boolean "") (sub-scale-with-window maybe-type/boolean "") (sub-shadow-offset maybe-type/float "") (sub-spacing maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -10) (<= val 10)))))) (sub-speed maybe-type/float "") (sub-stretch-durations maybe-type/boolean "") (sub-use-margins maybe-type/boolean "") (sub-visibility maybe-type/boolean "") (sub-vsfilter-bidi-compat maybe-type/boolean "") (subs-fallback maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no default yes))))))) (subs-fallback-forced maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes always))))))) (subs-match-os-language maybe-type/boolean "") (subs-with-matching-audio maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no forced yes))))))) (swapchain-depth maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 8)))))) (sws-allow-zimg maybe-type/boolean "") (sws-bitexact maybe-type/boolean "") (sws-cgb maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 100)))))) (sws-chs maybe-type/integer "") (sws-cs maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -100) (<= val 100)))))) (sws-cvs maybe-type/integer "") (sws-fast maybe-type/boolean "") (sws-lgb maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 100)))))) (sws-ls maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -100) (<= val 100)))))) (sws-scaler maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(fast-bilinear bilinear bicubic x point area bicublin gauss sinc lanczos spline))))))) (target-colorspace-hint maybe-type/boolean "") (target-contrast maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(auto inf)) (and (maybe-type/integer? val) (>= val 10) (<= val 1000000)))))))) (target-gamut maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto bt.601-525 bt.601-625 bt.709 bt.2020 bt.470m apple adobe prophoto cie1931 dci-p3 display-p3 v-gamut s-gamut ebu3213 film-c aces-ap0 aces-ap1))))))) (target-lut maybe-type/string "") (target-peak maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(auto)) (and (maybe-type/integer? val) (>= val 10) (<= val 10000)))))))) (target-prim maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto bt.601-525 bt.601-625 bt.709 bt.2020 bt.470m apple adobe prophoto cie1931 dci-p3 display-p3 v-gamut s-gamut ebu3213 film-c aces-ap0 aces-ap1))))))) (target-trc maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto bt.1886 srgb linear gamma1.8 gamma2.0 gamma2.2 gamma2.4 gamma2.6 gamma2.8 prophoto pq hlg v-log s-log1 s-log2 st428))))))) (taskbar-progress maybe-type/boolean "") (teletext-page maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val -1) (<= val 999)))))) (temporal-dither maybe-type/boolean "") (temporal-dither-period maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 128)))))) (term-osd maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(force auto no))))))) (term-osd-bar maybe-type/boolean "") (term-osd-bar-chars maybe-type/string "") (term-playing-msg maybe-type/string "") (term-status-msg maybe-type/string "") (term-title maybe-type/string "") (terminal maybe-type/boolean "") (title maybe-type/string "") (title-bar maybe-type/boolean "") (tls-ca-file maybe-type/string "") (tls-cert-file maybe-type/string "") (tls-key-file maybe-type/string "") (tls-verify maybe-type/boolean "") (tone-mapping maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto clip mobius reinhard hable gamma linear spline bt.2390 bt.2446a st2094-40 st2094-10))))))) (tone-mapping-max-boost maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 1) (<= val 10)))))) (tone-mapping-param maybe-type/float "") (tone-mapping-visualize maybe-type/boolean "") (track-auto-selection maybe-type/boolean "") (tscale maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(oversample linear spline16 spline36 spline64 sinc lanczos ginseng bicubic hermite catmull_rom mitchell robidoux robidouxsharp box nearest triangle gaussian bartlett cosine hanning tukey hamming quadric welch kaiser blackman sphinx jinc))))))) (tscale-antiring maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (tscale-blur maybe-type/float "") (tscale-clamp maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (tscale-param1 maybe-type/float "") (tscale-param2 maybe-type/float "") (tscale-radius maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0.5) (<= val 16)))))) (tscale-taper maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (tscale-window maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(bartlett cosine hanning tukey hamming quadric welch kaiser blackman sphinx jinc))))))) (tscale-wparam maybe-type/float "") (tscale-wtaper maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (untimed maybe-type/boolean "") (use-embedded-icc-profile maybe-type/boolean "") (use-filedir-conf maybe-type/boolean "") (user-agent maybe-type/string "") (vaapi-device maybe-type/string "") (vd maybe-type/string "") (vd-apply-cropping maybe-type/boolean "") (vd-lavc-assume-old-x264 maybe-type/boolean "") (vd-lavc-bitexact maybe-type/boolean "") (vd-lavc-check-hw-profile maybe-type/boolean "") (vd-lavc-dr maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto no yes))))))) (vd-lavc-fast maybe-type/boolean "") (vd-lavc-film-grain maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto cpu gpu))))))) (vd-lavc-framedrop maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(none default nonref bidir nonkey all))))))) (vd-lavc-o maybe-type/list-of-key-value "") (vd-lavc-show-all maybe-type/boolean "") (vd-lavc-skipframe maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(none default nonref bidir nonkey all))))))) (vd-lavc-skipidct maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(none default nonref bidir nonkey all))))))) (vd-lavc-skiploopfilter maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(none default nonref bidir nonkey all))))))) (vd-lavc-software-fallback maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no yes)) (and (maybe-type/integer? val) (>= val 1) (<= val 2147483647)))))))) (vd-lavc-threads maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val +inf.0)))))) (vd-queue-enable maybe-type/boolean "") (vd-queue-max-bytes maybe-type/byte-size "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/byte-size? val) (>= val 0) (<= val 4.6116860184274e18)))))) (vd-queue-max-samples maybe-type/integer64 "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer64? val) (>= val 0) (<= val +inf.0)))))) (vd-queue-max-secs maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (vf maybe-type/list-of-object-setting "") (video maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no auto)) (and (maybe-type/integer? val) (>= val 0) (<= val 8190)))))))) (video-align-x maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -1) (<= val 1)))))) (video-align-y maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -1) (<= val 1)))))) (video-aspect-method maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(bitstream container))))))) (video-aspect-override maybe-type/aspect "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/aspect? val) (>= val -1) (<= val 10)))))) (video-backward-batch maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 1024)))))) (video-backward-overlap maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(auto)) (and (maybe-type/integer? val) (>= val 0) (<= val 1024)))))))) (video-crop maybe-type/video-rectangle "") (video-exts maybe-type/list-of-string "") (video-latency-hacks maybe-type/boolean "") (video-margin-ratio-bottom maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (video-margin-ratio-left maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (video-margin-ratio-right maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (video-margin-ratio-top maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (video-osd maybe-type/boolean "") (video-output-levels maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto limited full))))))) (video-pan-x maybe-type/float "") (video-pan-y maybe-type/float "") (video-reversal-buffer maybe-type/byte-size "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/byte-size? val) (>= val 0) (<= val 4.6116860184274e18)))))) (video-rotate maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(no)) (and (maybe-type/integer? val) (>= val 0) (<= val 359)))))))) (video-scale-x maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 10000)))))) (video-scale-y maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 10000)))))) (video-sync maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(audio display-resample display-resample-vdrop display-resample-desync display-tempo display-adrop display-vdrop display-desync desync))))))) (video-sync-max-audio-change maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val 1)))))) (video-sync-max-factor maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 10)))))) (video-sync-max-video-change maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val +inf.0)))))) (video-timing-offset maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val 1)))))) (video-unscaled maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes downscale-big))))))) (video-zoom maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -20) (<= val 20)))))) (vlang maybe-type/list-of-string "") (vo maybe-type/list-of-object-setting "") (vo-image-avif-encoder maybe-type/string "") (vo-image-avif-opts maybe-type/list-of-key-value "") (vo-image-avif-pixfmt maybe-type/string "") (vo-image-format maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(jpg jpeg png webp jxl avif))))))) (vo-image-high-bit-depth maybe-type/boolean "") (vo-image-jpeg-quality maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 100)))))) (vo-image-jpeg-source-chroma maybe-type/boolean "") (vo-image-jxl-distance maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val 15)))))) (vo-image-jxl-effort maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 9)))))) (vo-image-outdir maybe-type/string "") (vo-image-png-compression maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 9)))))) (vo-image-png-filter maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 5)))))) (vo-image-tag-colorspace maybe-type/boolean "") (vo-image-webp-compression maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 6)))))) (vo-image-webp-lossless maybe-type/boolean "") (vo-image-webp-quality maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 100)))))) (vo-kitty-alt-screen maybe-type/boolean "") (vo-kitty-cols maybe-type/integer "") (vo-kitty-config-clear maybe-type/boolean "") (vo-kitty-height maybe-type/integer "") (vo-kitty-left maybe-type/integer "") (vo-kitty-rows maybe-type/integer "") (vo-kitty-top maybe-type/integer "") (vo-kitty-use-shm maybe-type/boolean "") (vo-kitty-width maybe-type/integer "") (vo-null-fps maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0) (<= val 10000)))))) (vo-sixel-alt-screen maybe-type/boolean "") (vo-sixel-buffered maybe-type/boolean "") (vo-sixel-cols maybe-type/integer "") (vo-sixel-config-clear maybe-type/boolean "") (vo-sixel-dither maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto none atkinson fs jajuni stucki burkes arithmetic xor))))))) (vo-sixel-fixedpalette maybe-type/boolean "") (vo-sixel-height maybe-type/integer "") (vo-sixel-left maybe-type/integer "") (vo-sixel-pad-x maybe-type/integer "") (vo-sixel-pad-y maybe-type/integer "") (vo-sixel-reqcolors maybe-type/integer "") (vo-sixel-rows maybe-type/integer "") (vo-sixel-threshold maybe-type/integer "") (vo-sixel-top maybe-type/integer "") (vo-sixel-width maybe-type/integer "") (vo-tct-256 maybe-type/boolean "") (vo-tct-algo maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(plain half-blocks))))))) (vo-tct-buffering maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(pixel line frame))))))) (vo-tct-height maybe-type/integer "") (vo-tct-width maybe-type/integer "") (vo-vaapi-scaled-osd maybe-type/boolean "") (vo-vaapi-scaling maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(default fast hq nla))))))) (vo-vdpau-chroma-deint maybe-type/boolean "") (vo-vdpau-colorkey maybe-type/color "") (vo-vdpau-composite-detect maybe-type/boolean "") (vo-vdpau-denoise maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 1)))))) (vo-vdpau-force-yuv maybe-type/boolean "") (vo-vdpau-fps maybe-type/double "") (vo-vdpau-hqscaling maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 9)))))) (vo-vdpau-output-surfaces maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 2) (<= val 15)))))) (vo-vdpau-pullup maybe-type/boolean "") (vo-vdpau-queuetime-fs maybe-type/integer "") (vo-vdpau-queuetime-windowed maybe-type/integer "") (vo-vdpau-sharpen maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -1) (<= val 1)))))) (volume maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -1) (<= val 1000)))))) (volume-gain maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -150) (<= val 150)))))) (volume-gain-max maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 0) (<= val 150)))))) (volume-gain-min maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val -150) (<= val 0)))))) (volume-max maybe-type/float "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/float? val) (>= val 100) (<= val 1000)))))) (vulkan-async-compute maybe-type/boolean "") (vulkan-async-transfer maybe-type/boolean "") (vulkan-device maybe-type/string "") (vulkan-display-display maybe-type/integer "") (vulkan-display-mode maybe-type/integer "") (vulkan-display-plane maybe-type/integer "") (vulkan-queue-count maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 8)))))) (vulkan-swap-mode maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto fifo fifo-relaxed mailbox immediate))))))) (watch-later-directory maybe-type/string "") (watch-later-options maybe-type/list-of-string "") (wayland-app-id maybe-type/string "") (wayland-configure-bounds maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto no yes))))))) (wayland-content-type maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto none photo video game))))))) (wayland-disable-vsync maybe-type/boolean "") (wayland-edge-pixels-pointer maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 2147483647)))))) (wayland-edge-pixels-touch maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val 2147483647)))))) (wayland-present maybe-type/boolean "") (wid maybe-type/integer64 "") (window-dragging maybe-type/boolean "") (window-maximized maybe-type/boolean "") (window-minimized maybe-type/boolean "") (window-scale maybe-type/double "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/double? val) (>= val 0.001) (<= val 100)))))) (write-filename-in-watch-later-config maybe-type/boolean "") (x11-bypass-compositor maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no yes fs-only never))))))) (x11-name maybe-type/string "") (x11-netwm maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(auto no yes))))))) (x11-present maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no auto yes))))))) (x11-wid-title maybe-type/boolean "") (xv-adaptor maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val -1) (<= val +inf.0)))))) (xv-buffers maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 1) (<= val 10)))))) (xv-ck maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(use set cur))))))) (xv-ck-method maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(none bg man auto))))))) (xv-colorkey maybe-type/integer "") (xv-port maybe-type/integer "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/integer? val) (>= val 0) (<= val +inf.0)))))) (ytdl maybe-type/boolean "") (ytdl-format maybe-type/string "") (ytdl-raw-options maybe-type/list-of-key-value "") (zimg-dither maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(no ordered random error-diffusion))))))) (zimg-fast maybe-type/boolean "") (zimg-scaler maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(point bilinear bicubic spline16 spline36 lanczos))))))) (zimg-scaler-chroma maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (memq val '(point bilinear bicubic spline16 spline36 lanczos))))))) (zimg-scaler-chroma-param-a maybe-type/double "") (zimg-scaler-chroma-param-b maybe-type/double "") (zimg-scaler-param-a maybe-type/double "") (zimg-scaler-param-b maybe-type/double "") (zimg-threads maybe-type/enumeration "" (sanitizer (lambda (val) (or (not (maybe-value-set? val)) (and (maybe-type/enumeration? val) (or (memq val '(auto)) (and (maybe-type/integer? val) (>= val 1) (<= val 64))))))))) ;;; Generated code - END. (set-object-property! (module-ref (current-module) 'mpv-profile-configuration) 'documentation (generate-documentation `((mpv-profile-configuration ,mpv-profile-configuration-fields)) 'mpv-profile-configuration)) ;;; ;;; Configuration base. ;;; (define-maybe type/mpv-profile-configurations) (define (serialize-type/mpv-profile-configurations _ profiles) #~(string-append #$@(map (match-lambda ((name . config) #~(string-append #$(format #f "[~a]~%" name) #$(serialize-mpv-profile-configuration _ config)))) profiles))) (define (type/mpv-profile-configurations? alist) (every (match-lambda (((? symbol?) . (? mpv-profile-configuration?)) #t) (_ #f)) alist)) (define-maybe type/extra) (define (serialize-type/extra _ value) #~(string-append #$value "\n")) (define type/extra? string?) (define (serialize-mpv-profile-configuration _ config) (serialize-configuration config mpv-profile-configuration-fields)) (define-configuration home-mpv-configuration (global mpv-profile-configuration "Globally valid settings, outputted before any profile.") (profiles maybe-type/mpv-profile-configurations "Alist mapping additional settings to specific profiles. Key should be a symbol, value an instance of @code{mpv-profile-configuration}.") (extra maybe-type/extra "Additional content to append to the end of the configuration file.")) (set-object-property! (module-ref (current-module) 'home-mpv-configuration) 'documentation (generate-documentation `((home-mpv-configuration ,home-mpv-configuration-fields)) 'home-mpv-configuration))