diff options
Diffstat (limited to 'DOCS')
-rw-r--r-- | DOCS/compatibility.rst | 22 | ||||
-rw-r--r-- | DOCS/interface-changes.rst | 6 | ||||
-rw-r--r-- | DOCS/interface-changes/cmd-nonrepeatable.txt | 1 | ||||
-rw-r--r-- | DOCS/interface-changes/dolby-vision-configuration.txt | 1 | ||||
-rw-r--r-- | DOCS/interface-changes/input-select.txt | 1 | ||||
-rw-r--r-- | DOCS/interface-changes/input-touch-emulate-mouse.txt | 1 | ||||
-rw-r--r-- | DOCS/interface-changes/native-touch.txt | 1 | ||||
-rw-r--r-- | DOCS/interface-changes/normalize-path.txt | 1 | ||||
-rw-r--r-- | DOCS/interface-changes/option-info-expects-file.txt | 1 | ||||
-rw-r--r-- | DOCS/interface-changes/osdscale.txt | 3 | ||||
-rw-r--r-- | DOCS/interface-changes/touch-pos.txt | 1 | ||||
-rw-r--r-- | DOCS/man/ao.rst | 4 | ||||
-rw-r--r-- | DOCS/man/console.rst | 1 | ||||
-rw-r--r-- | DOCS/man/encode.rst | 2 | ||||
-rw-r--r-- | DOCS/man/input.rst | 119 | ||||
-rw-r--r-- | DOCS/man/javascript.rst | 4 | ||||
-rw-r--r-- | DOCS/man/lua.rst | 43 | ||||
-rw-r--r-- | DOCS/man/mpv.rst | 42 | ||||
-rw-r--r-- | DOCS/man/options.rst | 83 | ||||
-rw-r--r-- | DOCS/man/osc.rst | 64 | ||||
-rw-r--r-- | DOCS/man/stats.rst | 4 | ||||
-rw-r--r-- | DOCS/man/vf.rst | 6 | ||||
-rw-r--r-- | DOCS/man/vo.rst | 4 |
23 files changed, 364 insertions, 51 deletions
diff --git a/DOCS/compatibility.rst b/DOCS/compatibility.rst index 3d6ec2cdfc..aeef8fc7ca 100644 --- a/DOCS/compatibility.rst +++ b/DOCS/compatibility.rst @@ -29,7 +29,16 @@ All of these are important for interfacing both with end users and API users (which include Lua scripts, libmpv, and the JSON IPC). As such, they constitute a large part of the user interface and APIs. -All incompatible changes to this must be declared in interface-changes.rst. +Certain options and commands may have documented default values. These default +values are considered a part of the API since scripts may already rely on these +documented behaviors. Changing these defaults are considered incompatible +changes and must be documented. Undocumented default values do not subject to +this requirement, and it is recommended to discourage such usage in the related +documentations if there is a need to frequently change such defaults. + +All incompatible changes to this must be declared in interface-changes.rst, +which include the types of changes, the impact of these changes, and suggested +actions to address such impact so that the incompatibility is alleviated. (This may also list compatible additions, but it's not a requirement.) Degrees of importance and compatibility preservation @@ -49,8 +58,17 @@ functionality still works, and a replacement is available (if technically reasonable). For example, a feature deprecated in mpv 0.30.0 may be removed in mpv 0.32.0. Minor releases do not count towards this. +Under extraordinary circumstances, such as missed incompatible changes that are +already included in a release, critical security fixes, or a severe shortage of +developer time to address the known incompatible changes, important/often used +parts may be broken immediately, but the change must be extensively documented: +all of the related documentations (including manpage, interface-changes.rst, +etc., retrospectively modified if applicable) must clearly state the following: +the fact that the change is a breaking change; the version when the breaking +change happened; and the reason, impact, and suggested remedy actions. + Less useful parts can be broken immediately, but must come with some sort of -removal warning- +removal warning. Parts for debugging and testing may be removed any time, potentially even without any sort of documentation. diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst index b55ef97739..28f6005653 100644 --- a/DOCS/interface-changes.rst +++ b/DOCS/interface-changes.rst @@ -64,7 +64,11 @@ Interface changes - change `--hidpi-window-scale` default to `no` - add `insert-next`, `insert-next-play`, `insert-at`, and `insert-at-play` actions to `loadfile` and `loadlist` commands - - add `index` argument to `loadfile` and `loadlist` commands + - add `index` argument to `loadlist` command + - add `index` argument to `loadfile` command. This breaks all existing + uses of this command which make use of the argument to include the list of + options to be set while the file is playing. To address this problem, the + third argument now needs to be set to -1 if the fourth argument needs to be used. - move the `options` argument of the `loadfile` command from the third parameter to the fourth (after `index`) - add `--drag-and-drop=insert-next` option diff --git a/DOCS/interface-changes/cmd-nonrepeatable.txt b/DOCS/interface-changes/cmd-nonrepeatable.txt new file mode 100644 index 0000000000..887b44b982 --- /dev/null +++ b/DOCS/interface-changes/cmd-nonrepeatable.txt @@ -0,0 +1 @@ +add `nonrepeatable` input command prefix diff --git a/DOCS/interface-changes/dolby-vision-configuration.txt b/DOCS/interface-changes/dolby-vision-configuration.txt new file mode 100644 index 0000000000..9383310fb9 --- /dev/null +++ b/DOCS/interface-changes/dolby-vision-configuration.txt @@ -0,0 +1 @@ +add `track-list/N/dolby-vision-profile` and `track-list/N/dolby-vision-level` diff --git a/DOCS/interface-changes/input-select.txt b/DOCS/interface-changes/input-select.txt new file mode 100644 index 0000000000..03e421a6c7 --- /dev/null +++ b/DOCS/interface-changes/input-select.txt @@ -0,0 +1 @@ +`add mp.input.select()` diff --git a/DOCS/interface-changes/input-touch-emulate-mouse.txt b/DOCS/interface-changes/input-touch-emulate-mouse.txt new file mode 100644 index 0000000000..00b08b7715 --- /dev/null +++ b/DOCS/interface-changes/input-touch-emulate-mouse.txt @@ -0,0 +1 @@ +add --input-touch-emulate-mouse option diff --git a/DOCS/interface-changes/native-touch.txt b/DOCS/interface-changes/native-touch.txt new file mode 100644 index 0000000000..91c3a53bad --- /dev/null +++ b/DOCS/interface-changes/native-touch.txt @@ -0,0 +1 @@ +add --native-touch option diff --git a/DOCS/interface-changes/normalize-path.txt b/DOCS/interface-changes/normalize-path.txt new file mode 100644 index 0000000000..5abdaf421d --- /dev/null +++ b/DOCS/interface-changes/normalize-path.txt @@ -0,0 +1 @@ +add the `normalize-path` command diff --git a/DOCS/interface-changes/option-info-expects-file.txt b/DOCS/interface-changes/option-info-expects-file.txt new file mode 100644 index 0000000000..c8a54da0a7 --- /dev/null +++ b/DOCS/interface-changes/option-info-expects-file.txt @@ -0,0 +1 @@ +add "option-info/<name>/expects-file" sub-property diff --git a/DOCS/interface-changes/osdscale.txt b/DOCS/interface-changes/osdscale.txt new file mode 100644 index 0000000000..38eec1afc8 --- /dev/null +++ b/DOCS/interface-changes/osdscale.txt @@ -0,0 +1,3 @@ +change `vidscale` script option type to string for osc.lua +change `vidscale` script option type to string for stats.lua +change `vidscale` default from `yes` to `auto` for osc.lua and stats.lua diff --git a/DOCS/interface-changes/touch-pos.txt b/DOCS/interface-changes/touch-pos.txt new file mode 100644 index 0000000000..a390d2369f --- /dev/null +++ b/DOCS/interface-changes/touch-pos.txt @@ -0,0 +1 @@ +add `touch-pos` property diff --git a/DOCS/man/ao.rst b/DOCS/man/ao.rst index 78dfed3b51..f03f64242e 100644 --- a/DOCS/man/ao.rst +++ b/DOCS/man/ao.rst @@ -15,6 +15,10 @@ in the list. See ``--ao=help`` for a list of compiled-in audio output drivers sorted by autoprobe order. + Note that the default audio output driver is subject to change, and must + not be relied upon. If a certain AO needs to be used, it must be + explicitly specified. + Available audio output drivers are: ``alsa`` diff --git a/DOCS/man/console.rst b/DOCS/man/console.rst index 69cc103c15..7028e6c76d 100644 --- a/DOCS/man/console.rst +++ b/DOCS/man/console.rst @@ -167,7 +167,6 @@ Configurable Options Default: true Remove duplicate entries in history as to only keep the latest one. - multiplied by "scale." ``font_hw_ratio`` Default: auto diff --git a/DOCS/man/encode.rst b/DOCS/man/encode.rst index 26f3d6cbc8..c650d0f6c4 100644 --- a/DOCS/man/encode.rst +++ b/DOCS/man/encode.rst @@ -8,7 +8,7 @@ You can encode files from one format/codec to another using this facility. ``--of=<format>`` Specifies the output format (overrides autodetection by the file name - extension of the file specified by ``-o``). See ``--of=help`` for a full + extension of the file specified by ``--o``). See ``--of=help`` for a full list of supported formats. ``--ofopts=<options>`` diff --git a/DOCS/man/input.rst b/DOCS/man/input.rst index 7863090c59..6f189cf87a 100644 --- a/DOCS/man/input.rst +++ b/DOCS/man/input.rst @@ -487,7 +487,7 @@ Remember to quote string arguments in input.conf (see `Flat command syntax`_). ``insert-at-play`` actions. When used with those actions, the new item will be inserted at the index position in the playlist, or appended to the end if index is less than 0 or greater than the size of the playlist. This argument - will be ignored for all other actions. + will be ignored for all other actions. This argument is added in mpv 0.38.0. The fourth argument is a list of options and values which should be set while the file is playing. It is of the form ``opt1=value1,opt2=value2,..``. @@ -496,6 +496,14 @@ Remember to quote string arguments in input.conf (see `Flat command syntax`_). options are set during playback, and restored to the previous value at end of playback (see `Per-File Options`_). + .. warning:: + + Since mpv 0.38.0, an insertion index argument is added as the third argument. + This breaks all existing uses of this command which make use of the argument + to include the list of options to be set while the file is playing. To address + this problem, the third argument now needs to be set to -1 if the fourth + argument needs to be used. + ``loadlist <url> [<flags> [<index>]]`` Load the given playlist file or URL (like ``--playlist``). @@ -775,7 +783,11 @@ Remember to quote string arguments in input.conf (see `Flat command syntax`_). Steps through the secondary subtitles. ``sub-seek <skip> <flags>`` - Seek to the next (skip set to 1) or the previous (skip set to -1) subtitle. + Change video and audio position such that the subtitle event after + ``<skip>`` subtitle events is displayed. For example, ``sub-seek 1`` skips + to the next subtitle, ``sub-seek -1`` skips to the previous subtitles, and + ``sub-seek 0`` seeks to the beginning of the current subtitle. + This is similar to ``sub-step``, except that it seeks video and audio instead of adjusting the subtitle delay. @@ -788,7 +800,7 @@ Remember to quote string arguments in input.conf (see `Flat command syntax`_). For embedded subtitles (like with Matroska), this works only with subtitle events that have already been displayed, or are within a short prefetch - range. + range. See `Cache`_ for details on how to control the available prefetch range. ``print-text <text>`` Print text to stdout. The string can contain properties (see @@ -806,12 +818,12 @@ Remember to quote string arguments in input.conf (see `Flat command syntax`_). <level> The minimum OSD level to show the text at (see ``--osd-level``). -``expand-text <string>`` +``expand-text <text>`` Property-expand the argument and return the expanded string. This can be used only through the client API or from a script using ``mp.command_native``. (see `Property Expansion`_). -``expand-path "<string>"`` +``expand-path "<text>"`` Expand a path's double-tilde placeholders into a platform-specific path. As ``expand-text``, this can only be used through the client API or from a script using ``mp.command_native``. @@ -823,6 +835,33 @@ Remember to quote string arguments in input.conf (see `Flat command syntax`_). This line of Lua would show the location of the user's mpv configuration directory on the OSD. +``normalize-path <filename>`` + Return a canonical representation of the path ``filename`` by converting it + to an absolute path, removing consecutive slashes, removing ``.`` + components, resolving ``..`` components, and converting slashes to + backslashes on Windows. Symlinks are not resolved unless the platform is + Unix-like and one of the path components is ``..``. If ``filename`` is a + URL, it is returned unchanged. This can only be used through the client API + or from a script using ``mp.command_native``. + + .. admonition:: Example + + ``mp.osd_message(mp.command_native({"normalize-path", "/foo//./bar"}))`` + + This line of Lua prints "/foo/bar" on the OSD. + +``escape-ass <text>`` + Modify ``text`` so that commands and functions that interpret ASS tags, + such as ``osd-overlay`` and ``mp.create_osd_overlay``, will display it + verbatim, and return it. This can only be used through the client API or + from a script using ``mp.command_native``. + + .. admonition:: Example + + ``mp.osd_message(mp.command_native({"escape-ass", "foo {bar}"}))`` + + This line of Lua prints "foo \\{bar}" on the OSD. + ``show-progress`` Show the progress bar, the elapsed time and the total duration of the file on the OSD. ``no-osd`` has no effect on this command. @@ -1262,18 +1301,6 @@ Input Commands that are Possibly Subject to Change use the ``mp.create_osd_overlay()`` helper instead of invoking this command directly. -``escape-ass <text>`` - Modify ``text`` so that commands and functions that interpret ASS tags, - such as ``osd-overlay`` and ``mp.create_osd_overlay``, will display it - verbatim, and return it. This can only be used through the client API or - from a script using ``mp.command_native``. - - .. admonition:: Example - - ``mp.osd_message(mp.command_native({"escape-ass", "foo {bar}"}))`` - - This line of Lua prints "foo \\{bar}" on the OSD. - ``script-message [<arg1> [<arg2> [...]]]`` Send a message to all clients, and pass it the following list of arguments. What this message means, how many arguments it takes, and what the arguments @@ -1799,6 +1826,9 @@ prefixes can be specified. They are separated by whitespace. This prefix forces enabling key repeat in any case. For a list of commands: the first command determines the repeatability of the whole list (up to and including version 0.33 - a list was always repeatable). +``nonrepeatable`` + For some commands, keeping a key pressed runs the command repeatedly. + This prefix forces disabling key repeat in any case. ``async`` Allow asynchronous execution (if possible). Note that only a few commands will support this (usually this is explicitly documented). Some commands @@ -2318,6 +2348,11 @@ Property list other byte-oriented input layer) in bytes per second. May be inaccurate or missing. + ``ts-per-stream`` is an array containing an entry for each stream type: video, + audio, and subtitle. For each stream type, the details for the demuxer cache + for that stream type are available as ``cache-duration``, ``reader-pts`` and + ``cache-end``. + When querying the property with the client API using ``MPV_FORMAT_NODE``, or with Lua ``mp.get_property_native``, this will return a mpv_node with the following contents: @@ -2337,6 +2372,12 @@ Property list "reader-pts" MPV_FORMAT_DOUBLE "cache-duration" MPV_FORMAT_DOUBLE "raw-input-rate" MPV_FORMAT_INT64 + "ts-per-stream" MPV_FORMAT_NODE_ARRAY + MPV_FORMAT_NODE_MAP + "type" MPV_FORMAT_STRING + "cache-duration" MPV_FORMAT_DOUBLE + "reader-pts" MPV_FORMAT_DOUBLE + "cache-end" MPV_FORMAT_DOUBLE Other fields (might be changed or removed in the future): @@ -2522,7 +2563,7 @@ Property list Display aspect ratio as float. ``video-params/aspect-name`` - Display aspect ratio name as string. The name coresponds to motion + Display aspect ratio name as string. The name corresponds to motion picture film format that introduced given aspect ratio in film. ``video-params/par`` @@ -2800,7 +2841,7 @@ Property list not being opened yet or not being supported by the VO. ``mouse-pos`` - Read-only - last known mouse position, normalizd to OSD dimensions. + Read-only - last known mouse position, normalized to OSD dimensions. Has the following sub-properties (which can be read as ``MPV_FORMAT_NODE`` or Lua table with ``mp.get_property_native``): @@ -2813,6 +2854,35 @@ Property list coordinates should be ignored when this value is false, because the video backends update them only when the pointer hovers the window. +``touch-pos`` + Read-only - last known touch point positions, normalized to OSD dimensions. + + This has a number of sub-properties. Replace ``N`` with the 0-based touch + point index. Whenever a new finger touches the screen, a new touch point is + added to the list of touch points with the smallest unused ``N`` available. + + ``touch-pos/count`` + Number of active touch points. + + ``touch-pos/N/x``, ``touch-pos/N/y`` + Position of the Nth touch point. + + ``touch-pos/N/id`` + Unique identifier of the touch point. This can be used to identify + individual touch points when their indexes change. + + When querying the property with the client API using ``MPV_FORMAT_NODE``, + or with Lua ``mp.get_property_native``, this will return a mpv_node with + the following contents: + + :: + + MPV_FORMAT_NODE_ARRAY + MPV_FORMAT_NODE_MAP (for each touch point) + "x" MPV_FORMAT_INT64 + "y" MPV_FORMAT_INT64 + "id" MPV_FORMAT_INT64 + ``sub-ass-extradata`` The current ASS subtitle track's extradata. There is no formatting done. The extradata is returned as a string as-is. This property is not @@ -2997,7 +3067,7 @@ Property list Total number of tracks. ``track-list/N/id`` - The ID as it's used for ``-sid``/``--aid``/``--vid``. This is unique + The ID as it's used for ``--sid``/``--aid``/``--vid``. This is unique within tracks of the same type (sub/audio/video), but otherwise not. ``track-list/N/type`` @@ -3126,6 +3196,10 @@ Property list values currently. It's possible that future mpv versions will make these properties unavailable instead in this case. + ``track-list/N/dolby-vision-profile``, ``track-list/N/dolby-vision-level`` + Dolby Vision profile and level. May not be available if the container + does not provide this information. + When querying the property with the client API using ``MPV_FORMAT_NODE``, or with Lua ``mp.get_property_native``, this will return a mpv_node with the following contents: @@ -3170,6 +3244,8 @@ Property list "replaygain-track-gain" MPV_FORMAT_DOUBLE "replaygain-album-peak" MPV_FORMAT_DOUBLE "replaygain-album-gain" MPV_FORMAT_DOUBLE + "dolby-vision-profile" MPV_FORMAT_INT64 + "dolby-vision-level" MPV_FORMAT_INT64 ``current-tracks/...`` This gives access to currently selected tracks. It redirects to the correct @@ -3613,6 +3689,9 @@ Property list means the option value will be restored to the value before playback start when playback ends. + ``option-info/<name>/expects-file`` + Whether the option takes file paths as arguments. + ``option-info/<name>/default-value`` The default value of the option. May not always be available. diff --git a/DOCS/man/javascript.rst b/DOCS/man/javascript.rst index 0edb01f674..6dfae8b601 100644 --- a/DOCS/man/javascript.rst +++ b/DOCS/man/javascript.rst @@ -196,7 +196,9 @@ meta-paths like ``~~/foo`` (other JS file functions do expand meta paths). ``mp.options.read_options(obj [, identifier [, on_update]])`` (types: string/boolean/number) -``mp.input.get(obj)`` (LE) +``mp.input.get(obj)`` + +``mp.input.select(obj)`` ``mp.input.terminate()`` diff --git a/DOCS/man/lua.rst b/DOCS/man/lua.rst index 73776964d5..e8065d9a1a 100644 --- a/DOCS/man/lua.rst +++ b/DOCS/man/lua.rst @@ -888,9 +888,8 @@ REPL. present a list of options with ``input.set_log()``. ``edited`` - A callback invoked when the text changes. This can be used to filter a - list of options based on what the user typed with ``input.set_log()``, - like dmenu does. The first argument is the text in the console. + A callback invoked when the text changes. The first argument is the text + in the console. ``complete`` A callback invoked when the user presses TAB. The first argument is the @@ -951,6 +950,44 @@ REPL. } }) +``input.select(table)`` + Specify a list of items that are presented to the user for selection. The + user can type part of the desired item and/or navigate them with + keybindings: ``Down`` and ``Ctrl+n`` go down, ``Up`` and ``Ctrl+p`` go up, + ``Page down`` and ``Ctrl+f`` scroll down one page, and ``Page up`` and + ``Ctrl+b`` scroll up one page. + + The following entries of ``table`` are read: + + ``prompt`` + The string to be displayed before the input field. + + ``items`` + The table of the entries to choose from. + + ``default_item`` + The 1-based integer index of the preselected item. + + ``submit`` + The callback invoked when the user presses Enter. The first argument is + the 1-based index of the selected item. Unlike with ``input.get()``, the + console is automatically closed on submit without having to call + ``input.terminate()``. + + Example: + + :: + + input.select({ + items = { + "First playlist entry", + "Second playlist entry", + }, + submit = function (id) + mp.commandv("playlist-play-index", id - 1) + end, + }) + Events ------ diff --git a/DOCS/man/mpv.rst b/DOCS/man/mpv.rst index b0f407e874..3b29124ea7 100644 --- a/DOCS/man/mpv.rst +++ b/DOCS/man/mpv.rst @@ -270,6 +270,46 @@ Alt+2 (and Command+2 on macOS) Command + f (macOS only) Toggle fullscreen (see also ``--fs``). +(The following keybindings open a selector in the console that lets you choose +from a list of items by typing part of the desired item and/or by navigating +them with keybindings: ``Down`` and ``Ctrl+n`` go down, ``Up`` and ``Ctrl+p`` go +up, ``Page down`` and ``Ctrl+f`` scroll down one page, and ``Page up`` and +``Ctrl+b`` scroll up one page.) + +g-p + Select a playlist entry. + +g-s + Select a subtitle track. + +g-S + Select a secondary subtitle track. + +g-a + Select an audio track. + +g-v + Select a video track. + +g-t + Select a track of any type. + +g-c + Select a chapter. + +g-l + Select a subtitle line to seek to. This currently requires ``ffmpeg`` in + ``PATH``, or in the same folder as mpv on Windows. + +g-d + Select an audio device. + +g-b + Select a defined input binding. + +g-r + Show the values of all properties. + (The following keys are valid if you have a keyboard with multimedia keys.) PAUSE @@ -1698,5 +1738,5 @@ FILES ON MACOS On macOS the watch later directory is located at ``~/.config/mpv/watch_later/`` and the cache directory is set to ``~/Library/Caches/io.mpv/``. These directories -can't be overwritten by enviroment variables. +can't be overwritten by environment variables. Everything else is the same as `FILES`_. diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index bf1d55a294..9a34a69c50 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -5,11 +5,11 @@ Track Selection --------------- ``--alang=<languagecode[,languagecode,...]>`` - Specify a priority list of audio languages to use, as IETF language tags. - Equivalent ISO 639-1 two-letter and ISO 639-2 three-letter codes are treated the same. - The first tag in the list whose language matches a track in the file will be used. - A track that matches more subtags will be preferred over one that matches fewer, - with preference given to earlier subtags over later ones. See also ``--aid``. + Specify a prioritized list of audio languages to use, as IETF language tags. + Equivalent ISO 639-1 two-letter and ISO 639-2 three-letter codes are treated + the same. The first tag in the list that matches track's language in the file + will be used. A track that matches more subtags will be preferred over one + that matches fewer. See also ``--aid``. This is a string list option. See `List Options`_ for details. @@ -146,7 +146,7 @@ Track Selection ``--subs-match-os-language=<yes|no>`` When autoselecting a subtitle track, select the track that matches the language of your OS if the audio stream is in a different language if suitable (default track or a forced track - under the right conditions). Note that if ``-slang`` is set, this will be completely ignored + under the right conditions). Note that if ``--slang`` is set, this will be completely ignored (default: yes). ``--subs-fallback=<yes|default|no>`` @@ -1023,6 +1023,10 @@ Program Behavior `Conditional auto profiles`_ for details. ``auto`` will load the script, but immediately unload it if there are no conditional profiles. +``--load-select=<yes|no>`` + Enable the builtin script that lets you select from lists of items (default: + yes). By default, its keybindings start with the ``g`` key. + ``--player-operation-mode=<cplayer|pseudo-gui>`` For enabling "pseudo GUI mode", which means that the defaults for some options are changed. This option should not normally be used directly, but @@ -2387,7 +2391,8 @@ Subtitles Whether to scale subtitles with the window size (default: yes). If this is disabled, changing the window size won't change the subtitle font size. - Like ``--sub-scale``, this can break ASS subtitles. + Affects plain text subtitles only (or ASS if ``--sub-ass-override`` is set + high enough). ``--sub-scale-with-window=<yes|no>`` Make the subtitle font size relative to the window, instead of the video. @@ -4101,6 +4106,17 @@ Input Whether this applies depends on the VO backend and how it handles keyboard input. Does not apply to terminal input. +``--native-touch=<yes|no>`` + (Windows only) + For platforms which send emulated mouse inputs for touch-unaware clients, + such as Windows, use system native touch events, instead of receiving them + as emulated mouse events (default: no). This is required for multi-touch + support for these platforms. + + Note that this option has no effect on other platforms: either native touch + is not supported by mpv, or the platform does not give an option to receive + emulated mouse inputs (so native touch is always enabled, e.g. Wayland). + ``--input-ar-delay`` Delay in milliseconds before we start to autorepeat a key (default: 200). Set it to 0 to disable. @@ -4281,6 +4297,13 @@ Input disabled by default in libmpv as well - it should be enabled if you want the mpv default key bindings. +``--input-touch-emulate-mouse=<yes|no>`` + When multi-touch support is enabled (either required by the platform, + or enabled by ``--native-touch``), emulate mouse move and button presses + for the touch events (default: yes). This is useful for compatibility + for mouse key bindings and scripts which read mouse positions for platforms + which do not support ``--native-touch=no`` (e.g. Wayland). + OSD --- @@ -4452,12 +4475,18 @@ OSD are always in actual pixels. The effect is that changing the window size won't change the OSD font size. + .. note:: + + For scripts which draw user interface elements, it is recommended to + respect the value of this option when deciding whether the elements + are scaled with window size or not. + ``--osd-shadow-color=<color>`` See ``--sub-color``. Color used for OSD shadow. .. note:: - ignored when ``--osd-back-color`` is specified (or more exactly: when + Ignored when ``--osd-back-color`` is specified (or more exactly: when that option is not set to completely transparent). ``--osd-shadow-offset=<size>`` @@ -6267,6 +6296,37 @@ them. macOS and cocoa-cb only. +``--cocoa-cb-output-csp=<csp>`` + This sets the color space of the layer to activate the macOS color + transformation. Depending on the color space used the system's EDR (HDR) + support will be activated. To get correct results, this needs to be set to + the color primaries/transfer characteristics of the VO target. It is recommended + to use this switch together with ``--target-trc`` and ``--target-prim``. + + ``<csp>`` can be one of the following: + + :auto: Sets the color space to the icc profile of the + screen (default). + :display-p3: DCI P3 primaries, a D65 white point and the sRGB + transfer function. + :display-p3-hlg: DCI P3 primaries, a D65 white point and the Hybrid + Log-Gamma (HLG) transfer function. + :display-p3-pq: DCI P3 primaries, a D65 white point and the Perceptual + Quantizer (PQ) transfer function. + :display-p3-linear: DCI P3 primaries, a D65 white point and linear transfer function. + :dci-p3: DCI P3 color space. + :bt.2020: ITU BT.2020 color space. + :bt.2020-linear: ITU BT.2020 color space and linear transfer function. + :bt.2100-hlg: ITU BT.2100 and the Hybrid Log-Gamma (HLG) transfer function. + :bt.2100-pq: ITU BT.2100 and the Perceptual Quantizer (PQ) transfer function. + :bt.709: ITU BT.709 color space. + :srgb: sRGB colorimetry and non-linear transfer function. + :srgb-linear: Same as sRGB but linear transfer function. + :rgb-linear: RGB and linear transfer function. + :adobe: Adobe RGB (1998) color space. + + macOS and cocoa-cb only. + ``--macos-title-bar-appearance=<appearance>`` Sets the appearance of the title bar (default: auto). Not all combinations of appearances and ``--macos-title-bar-material`` materials make sense or @@ -6394,6 +6454,9 @@ them. order. You can also pass ``help`` to get a complete list of compiled in backends (sorted by the default autoprobe order). + Note that the default GPU context is subject to change, and must not be relied upon. + If a certain GPU context needs to be used, it must be explicitly specified. + auto auto-select (default). Note that this context must be used alone and does not participate in the priority list. @@ -6436,7 +6499,9 @@ them. Controls which type of graphics APIs will be accepted: auto - Use any available API (default) + Use any available API (default). Note that the default GPU API used for this + value is subject to change, and must not be relied upon. If a certain GPU API + needs to be used, it must be explicitly specified. opengl Allow only OpenGL (requires OpenGL 2.1+ or GLES 2.0+) vulkan diff --git a/DOCS/man/osc.rst b/DOCS/man/osc.rst index 97b4f4818e..dc8dad7c2f 100644 --- a/DOCS/man/osc.rst +++ b/DOCS/man/osc.rst @@ -247,16 +247,13 @@ Configurable Options Scale factor of the OSC when fullscreen -``scaleforcedwindow`` - Default: 2.0 - - Scale factor of the OSC when rendered on a forced (dummy) window - ``vidscale`` - Default: yes + Default: auto - Scale the OSC with the video - ``no`` tries to keep the OSC size constant as much as the window size allows + Scale the OSC with the video. + ``no`` tries to keep the OSC size constant as much as the window size allows. + ``auto`` scales the OSC with the OSD, which is scaled with the window or kept at a + constant size, depending on the ``--osd-scale-by-window`` option. ``valign`` Default: 0.8 @@ -431,6 +428,57 @@ Configurable Options Use a Unicode minus sign instead of an ASCII hyphen when displaying the remaining playback time. +``background_color`` + Default: #000000 + |