summaryrefslogtreecommitdiffstats
path: root/DOCS
diff options
context:
space:
mode:
Diffstat (limited to 'DOCS')
-rw-r--r--DOCS/compatibility.rst22
-rw-r--r--DOCS/interface-changes.rst6
-rw-r--r--DOCS/interface-changes/cmd-nonrepeatable.txt1
-rw-r--r--DOCS/interface-changes/dolby-vision-configuration.txt1
-rw-r--r--DOCS/interface-changes/input-select.txt1
-rw-r--r--DOCS/interface-changes/input-touch-emulate-mouse.txt1
-rw-r--r--DOCS/interface-changes/native-touch.txt1
-rw-r--r--DOCS/interface-changes/normalize-path.txt1
-rw-r--r--DOCS/interface-changes/option-info-expects-file.txt1
-rw-r--r--DOCS/interface-changes/osdscale.txt3
-rw-r--r--DOCS/interface-changes/touch-pos.txt1
-rw-r--r--DOCS/man/ao.rst4
-rw-r--r--DOCS/man/console.rst1
-rw-r--r--DOCS/man/encode.rst2
-rw-r--r--DOCS/man/input.rst119
-rw-r--r--DOCS/man/javascript.rst4
-rw-r--r--DOCS/man/lua.rst43
-rw-r--r--DOCS/man/mpv.rst42
-rw-r--r--DOCS/man/options.rst83
-rw-r--r--DOCS/man/osc.rst64
-rw-r--r--DOCS/man/stats.rst4
-rw-r--r--DOCS/man/vf.rst6
-rw-r--r--DOCS/man/vo.rst4
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
+