summaryrefslogtreecommitdiffstats
path: root/DOCS/man
diff options
context:
space:
mode:
Diffstat (limited to 'DOCS/man')
-rw-r--r--DOCS/man/ao.rst15
-rw-r--r--DOCS/man/console.rst2
-rw-r--r--DOCS/man/input.rst188
-rw-r--r--DOCS/man/javascript.rst4
-rw-r--r--DOCS/man/lua.rst43
-rw-r--r--DOCS/man/mpv.rst69
-rw-r--r--DOCS/man/options.rst95
-rw-r--r--DOCS/man/osc.rst82
-rw-r--r--DOCS/man/stats.rst47
-rw-r--r--DOCS/man/vf.rst18
10 files changed, 439 insertions, 124 deletions
diff --git a/DOCS/man/ao.rst b/DOCS/man/ao.rst
index 4ac1cc52ee..78dfed3b51 100644
--- a/DOCS/man/ao.rst
+++ b/DOCS/man/ao.rst
@@ -297,3 +297,18 @@ Available audio output drivers are:
``wasapi``
Audio output to the Windows Audio Session API.
+
+ The following global options are supported by this audio output:
+
+ ``--wasapi-exclusive-buffer=<default|min|1-2000000>``
+ Set buffer duration in exclusive mode (i.e., with
+ ``--audio-exclusive=yes``). ``default`` and ``min`` use the default and
+ minimum device period reported by WASAPI, respectively. You can also
+ directly specify the buffer duration in microseconds, in which case a
+ duration shorter than the minimum device period will be rounded up to
+ the minimum period.
+
+ The default buffer duration should provide robust playback in most
+ cases, but reportedly on some devices there are glitches following
+ stream resets under the default setting. In such cases, specifying a
+ shorter duration might help.
diff --git a/DOCS/man/console.rst b/DOCS/man/console.rst
index b9f169f1cc..69cc103c15 100644
--- a/DOCS/man/console.rst
+++ b/DOCS/man/console.rst
@@ -123,7 +123,7 @@ Configuration
This script can be customized through a config file ``script-opts/console.conf``
placed in mpv's user directory and through the ``--script-opts`` command-line
-option. The configuration syntax is described in `ON SCREEN CONTROLLER`_.
+option. The configuration syntax is described in `mp.options functions`_.
Key bindings can be changed in a standard way, see for example stats.lua
documentation.
diff --git a/DOCS/man/input.rst b/DOCS/man/input.rst
index 6d6b64c1ad..8d839cb6da 100644
--- a/DOCS/man/input.rst
+++ b/DOCS/man/input.rst
@@ -775,7 +775,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 +792,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 +810,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 +827,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 +1293,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
@@ -2318,6 +2337,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 +2361,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 +2552,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``
@@ -2690,30 +2720,6 @@ Property list
enabled, or after precise seeking). Files with imprecise timestamps (such
as Matroska) might lead to unstable results.
-``window-scale`` (RW)
- Window size multiplier. Setting this will resize the video window to the
- values contained in ``dwidth`` and ``dheight`` multiplied with the value
- set with this property. Setting ``1`` will resize to original video size
- (or to be exact, the size the video filters output). ``2`` will set the
- double size, ``0.5`` halves the size.
-
- Note that setting a value identical to its previous value will not resize
- the window. That's because this property mirrors the ``window-scale``
- option, and setting an option to its previous value is ignored. If this
- value is set while the window is in a fullscreen, the multiplier is not
- applied until the window is taken out of that state. Writing this property
- to a maximized window can unmaximize the window depending on the OS and
- window manager. If the window does not unmaximize, the multiplier will be
- applied if the user unmaximizes the window later.
-
- See ``current-window-scale`` for the value derived from the actual window
- size.
-
- Since mpv 0.31.0, this always returns the previously set value (or the
- default value), instead of the value implied by the actual window size.
- Before mpv 0.31.0, this returned what ``current-window-scale`` returns now,
- after the window was created.
-
``current-window-scale`` (RW)
The ``window-scale`` value calculated from the current window size. This
has the same value as ``window-scale`` if the window size was not changed
@@ -2722,10 +2728,9 @@ Property list
calculated from the last non-fullscreen size of the window. The property
is unavailable if no video is active.
- When setting this property in the fullscreen or maximized state, the behavior
- is the same as window-scale. In all other cases, setting the value of this
- property will always resize the window. This does not affect the value of
- ``window-scale``.
+ It is also possible to write to this property. This has the same behavior as
+ writing ``window-scale``. Note that writing to ``current-window-scale`` will
+ not affect the value of ``window-scale``.
``focused``
Whether the window has focus. Might not be supported by all VOs.
@@ -2736,11 +2741,11 @@ Property list
are the GDI names (\\.\DISPLAY1, \\.\DISPLAY2, etc.) and the first display
in the list will be the one that Windows considers associated with the
window (as determined by the MonitorFromWindow API.) On macOS these are the
- Display Product Names as used in the System Information and only one display
- name is returned since a window can only be on one screen. On Wayland, these
- are the wl_output names if protocol version >= 4 is used
- (LVDS-1, HDMI-A-1, X11-1, etc.), or the wl_output model reported by the
- geometry event if protocol version < 4 is used.
+ Display Product Names as used in the System Information with a serial number
+ in brackets and only one display name is returned since a window can only be
+ on one screen. On Wayland, these are the wl_output names if protocol
+ version >= 4 is used (LVDS-1, HDMI-A-1, X11-1, etc.), or the wl_output model
+ reported by the geometry event if protocol version < 4 is used.
``display-fps``
The refresh rate of the current display. Currently, this is the lowest FPS
@@ -2825,7 +2830,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``):
@@ -2838,6 +2843,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
@@ -2848,25 +2882,38 @@ Property list
stripped. If the subtitle is not text-based (i.e. DVD/BD subtitles), an
empty string is returned.
-``sub-text-ass``
- Like ``sub-text``, but return the text in ASS format. Text subtitles in
- other formats are converted. For native ASS subtitles, events that do
- not contain any text (but vector drawings etc.) are not filtered out. If
- multiple events match with the current playback time, they are concatenated
- with line breaks. Contains only the "Text" part of the events.
+ This has sub-properties for different formats:
+
+ ``sub-text/ass``
+ Like ``sub-text``, but return the text in ASS format. Text subtitles in
+ other formats are converted. For native ASS subtitles, events that do
+ not contain any text (but vector drawings etc.) are not filtered out. If
+ multiple events match with the current playback time, they are concatenated
+ with line breaks. Contains only the "Text" part of the events.
- This property is not enough to render ASS subtitles correctly, because ASS
- header and per-event metadata are not returned. You likely need to do
- further filtering on the returned string to make it useful.
+ This property is not enough to render ASS subtitles correctly, because ASS
+ header and per-event metadata are not returned. Use ``/ass-full`` for that.
+
+ ``sub-text/ass-full``
+ Like ``sub-text-ass``, but return the full event with all fields, formatted as
+ lines in a .ass text file. Use with ``sub-ass-extradata`` for style information.
+
+``sub-text-ass`` (deprecated)
+ Deprecated alias for ``sub-text/ass``.
``secondary-sub-text``
- Same as ``sub-text``, but for the secondary subtitles.
+ Same as ``sub-text`` (with the same sub-properties), but for the secondary subtitles.
``sub-start``
The current subtitle start time (in seconds). If there's multiple current
subtitles, returns the first start time. If no current subtitle is present
null is returned instead.
+ This has a sub-property:
+
+ ``sub-start/full``
+ ``sub-start`` with milliseconds.
+
``secondary-sub-start``
Same as ``sub-start``, but for the secondary subtitles.
@@ -2876,6 +2923,11 @@ Property list
if it's present but has unknown or incorrect duration, null is returned
instead.
+ This has a sub-property:
+
+ ``sub-end/full``
+ ``sub-end`` with milliseconds.
+
``secondary-sub-end``
Same as ``sub-end``, but for the secondary subtitles.
@@ -2966,7 +3018,7 @@ Property list
Name of the Nth entry. Available if the playlist file contains
such fields and mpv's parser supports it for the given
playlist format, or if the playlist entry has been opened before and a
- media-title other then then filename has been acquired.
+ media-title other than filename has been acquired.
``playlist/N/id``
Unique ID for this entry. This is an automatically assigned integer ID
@@ -3077,6 +3129,9 @@ Property list
match even if the default (builtin) demuxer is used, but there is
no hard guarantee.
+ ``track-list/N/decoder``
+ If this track is being decoded, the short decoder name,
+
``track-list/N/decoder-desc``
If this track is being decoded, the human-readable decoder name,
@@ -3130,6 +3185,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:
@@ -3174,6 +3233,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
@@ -3617,6 +3678,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 479458b157..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
@@ -557,7 +597,7 @@ Suffix Meaning
-pre Prepend 1 or more items (same syntax as -set)
-clr Clear the option (remove all items)
-remove Delete item if present (does not interpret escapes)
--toggle Append an item, or remove if if it already exists (no escapes)
+-toggle Append an item, or remove it if it already exists (no escapes)
============= ===============================================
``-append`` is meant as a simple way to append a single item without having
@@ -591,23 +631,24 @@ appropriate structured data type.
Prior to mpv 0.33, ``:`` was also recognized as separator by ``-set``.
-Filter options
-~~~~~~~~~~~~~~
+Object settings list options
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-This is a very complex option type for the ``--af`` and ``--vf`` options only.
-They often require complicated escaping. See `VIDEO FILTERS`_ for details. They
-support the following operations:
+This is a very complex option type for some options, such as ``--af`` and ``--vf``.
+They often require complicated escaping. See `VIDEO FILTERS`_ for details.
+
+They support the following operations:
============= ===============================================
Suffix Meaning
============= ===============================================
--set Set a list of filters (using ``,`` as separator)
--append Append single filter
--add Append 1 or more filters (same syntax as -set)
--pre Prepend 1 or more filters (same syntax as -set)
--clr Clear the option (remove all filters)
--remove Delete filter if present
--toggle Append a filter, or remove if if it already exists
+-set Set a list of items (using ``,`` as separator)
+-append Append single item
+-add Append 1 or more items (same syntax as -set)
+-pre Prepend 1 or more items (same syntax as -set)
+-clr Clear the option (remove all items)
+-remove Delete item if present
+-toggle Append an item, or remove it if it already exists
-help Pseudo operation that prints a help text to the terminal
============= ===============================================
@@ -1697,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 9f17345d96..8ef6a65a0e 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.
@@ -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
@@ -2560,6 +2564,15 @@ Subtitles
offset scale factor, not what the video filter chain or the video output
use.
+``--sub-vsfilter-bidi-compat=<yes|no>``
+ Set implicit bidi detection to ``ltr`` instead of ``auto`` to match ASS'
+ default. This also disables libass' incompatible extensions. This currently
+ includes bracket pair matching according to the revised Unicode
+ Bidirectional Algorithm introduced in Unicode 6.3, and also affects how BiDi
+ runs are split and processed, as well as soft linewrapping of unicode text.
+
+ This affects plaintext (non-ASS) subtitles only. Default: no.
+
``--sub-ass-vsfilter-color-compat=<basic|full|force-601|no>``
Mangle colors like (xy-)vsfilter do (default: basic). Historically, VSFilter
was not color space aware. This was no problem as long as the color space
@@ -3388,7 +3401,10 @@ Window
``--window-scale=<factor>``
Resize the video window to a multiple (or fraction) of the video size. This
option is applied before ``--autofit`` and other options are applied (so
- they override this option).
+ they override this option). Changing this option while the window is
+ maximized can unmaximize the window depending on the OS and window manager.
+ If the window does not unmaximize, the multiplier will be applied if the user
+ unmaximizes the window later.
For example, ``--window-scale=0.5`` would show the window at half the
video size.
@@ -3478,6 +3494,12 @@ Window
(macOS only)
Uses the native fullscreen mechanism of the OS (default: yes).
+``--show-in-taskbar=<yes|no>``
+ (Windows and X11 only)
+ Show mpv in the taskbar (default: yes). If set to no, mpv will no longer
+ appear in taskbars and tasklists in supported window managers, and may be
+ excluded from Alt+Tab window switching.
+
``--monitorpixelaspect=<ratio>``
Set the aspect of a single pixel of your monitor or TV screen (default:
1). A value of 1 means square pixels (correct for (almost?) all LCDs). See
@@ -4083,6 +4105,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.
@@ -4263,6 +4296,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
---
@@ -6249,6 +6289,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
@@ -6370,13 +6441,15 @@ them.
``--gpu-sw``
Continue even if a software renderer is detected.
-``--gpu-context=<sys>``
- The value ``auto`` (the default) selects the GPU context. You can also pass
- ``help`` to get a complete list of compiled in backends (sorted by
- autoprobe order).
+``--gpu-context=<context1,context2,...[,]>``
+ Specify a priority list of the GPU contexts to be used.
+ The value ``auto`` (the default) selects the GPU context with the default autoprobe
+ order. You can also pass ``help`` to get a complete list of compiled in backends
+ (sorted by the default autoprobe order).
auto
- auto-select (default)
+ auto-select (default). Note that this context must be used alone and
+ does not participate in the priority list.
win
Win32/WGL
winvk
diff --git a/DOCS/man/osc.rst b/DOCS/man/osc.rst
index 9ed338a965..0a9b54c5cf 100644
--- a/DOCS/man/osc.rst
+++ b/DOCS/man/osc.rst
@@ -130,22 +130,9 @@ del Cycles visibility between never / auto (mouse-move) / always
Configuration
-------------
-The OSC offers limited configuration through a config file
-``script-opts/osc.conf`` placed in mpv's user dir and through the
-``--script-opts`` command-line option. Options provided through the command-line
-will override those from the config file.
-
-Config Syntax
-~~~~~~~~~~~~~
-
-The config file must exactly follow the following syntax::
-
- # this is a comment
- optionA=value1
- optionB=value2
-
-``#`` can only be used at the beginning of a line and there may be no
-spaces around the ``=`` or anywhere else.
+This script can be customized through a config file ``script-opts/osc.conf``
+placed in mpv's user directory and through the ``--script-opts`` command-line
+option. The configuration syntax is described in `mp.options functions`_.
Command-line Syntax
~~~~~~~~~~~~~~~~~~~
@@ -260,11 +247,6 @@ 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
@@ -424,6 +406,13 @@ Configurable Options
Whether to display the chapters/playlist at the OSD when left-clicking the
next/previous OSC buttons, respectively.
+``playlist_media_title``
+ Default: yes
+
+ Whether to display playlist entries in media titles. If set to ``no``, file
+ names are used instead. Note that media title of a file is only available
+ once it has been loaded.
+
``chapter_fmt``
Default: ``Chapter: %s``
@@ -437,6 +426,57 @@ Configurable Options
Use a Unicode minus sign instead of an ASCII hyphen when displaying
the remaining playback time.
+``background_color``
+ Default: #000000
+
+ Sets the background color of the OSC.
+
+``timecode_color``
+ Default: #FFFFFF
+
+ Sets the color of the timecode and seekbar, of the OSC.
+
+``title_color``
+ Default: #FFFFFF
+
+ Sets the color of the video title. Formatted as #RRGGBB.
+
+``time_pos_color``
+ Default: #FFFFFF
+
+ Sets the color of the timecode at hover position in the seekbar.
+
+``time_pos_outline_color``
+ Default: #FFFFFF
+
+ Sets the color of the timecode's outline at hover position in the seekbar.
+ Also affects the timecode in the slimbox layout.
+
+``buttons_color``
+ Default: #FFFFFF
+
+ Sets the colors of the big buttons.
+
+``top_buttons_color``
+ Default: #FFFFFF
+
+ Sets the colors of the top buttons.
+
+``small_buttonsL_color``
+ Default: #FFFFFF
+
+ Sets the colors of the small buttons on the left in the box layout.
+
+``small_buttonsR_color``
+ Default: #FFFFFF
+
+ Sets the colors of the small buttons on the right in the box layout.
+
+``held_element_color``
+ Default: #999999
+
+ Sets the colors of the elements that are being pressed or held down.
+
Script Commands
~~~~~~~~~~~~~~~
diff --git a/DOCS/man/stats.rst b/DOCS/man/stats.rst
index 7ddf851567..8bc0a3c651 100644
--- a/DOCS/man/stats.rst
+++ b/DOCS/man/stats.rst
@@ -35,12 +35,15 @@ UP Scroll one line up
DOWN Scroll one line down
==== ==================
+Page 4 also binds ``/`` to search for input bindings by typing part of a bi