| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
1px squares to 2px triangles and layout=box markers from 1px
squares to 2x1px rectangles.
While we're at it, wrap a few lines to 80col again.
|
|
|
|
|
|
| |
Length property is deprecated and no longer works. This fixes
a bug when the total file duration wasn't visible if the
option to display milliseconds was activated.
|
|
|
|
|
|
|
|
| |
Having empty space before the title in layout=*bar looks worse
than the floating buttons in layout=box.
Also disable both playlist buttons selectively according to the
current position.
|
| |
|
|
|
|
| |
Fixes regression since 7201fd7d
|
|
|
|
|
|
|
|
|
|
|
| |
As threatened by the API changes document.
This commit also removes or stubs equivalent calls in IPC and Lua
scripting.
The stubs are left to maintain ABI compatibility. The semantics of the
API functions have been close enough to doing nothing that this probably
won't even break existing API users. Probably.
|
| |
|
|
|
|
|
| |
mpv doesn't work well with unordered chapters.
ex: https://youtu.be/DIKPUL6b4N8
|
|
|
|
|
|
|
|
| |
Most code from @leiserfg in #2365.
Closes #2365
Cut guides to the center of the knob. This makes the knob
knob look more like IRL knob sliders.
|
|
|
|
| |
Fixes #3210
|
|
|
|
| |
Fixes #3737
|
|
|
|
|
| |
Fixes lingering tooltip with full alpha if mouse leaves window
with OSC still active.
|
|
|
|
|
| |
Basically, there's two less values to revert to previous defaults and
top/bottombar now look at scale=1 like they looked with scale=1.5.
|
| |
|
|
|
|
|
|
| |
This way people can still use the mouse to quickly check the elapsed time
without moving it all the way to the bottom while still having half the screen
to ignore mouse movement.
|
| |
|
|
|
|
| |
Same behavior as box/slimbox.
|
| |
|
| |
|
|
|
|
| |
Also, chapter position which wasn't changed to work with 1-based.
|
|
|
|
|
|
|
|
|
|
|
| |
* Fixes: when on the end of playlist only half of entries are displayed.
* Simplifies the logic of limited_list so it's easy to follow.
* limited_list's pos parameter is now 1 based which seem more natural.
* Few changes to comply with code style thorough the file.
* Small format change:
"Playlist: (%d/%d):" -> "Playlist [%d/%d]:"
"Chapters: (%d/%d):" -> "Chapters [%d/%d]:"
|
|
|
|
|
|
|
|
|
|
| |
These can be used in input.conf for pretty formatting of lists as
with shift+clicking the OSC buttons.
Ex:
z script-message osc-playlist
Z script-message osc-chapterlist
x script-message osc-tracklist
|
|
|
|
|
| |
Don't try to display more items than there are in the chapter/playlist.
Fixes #3691
|
|
|
|
|
|
|
|
|
| |
Had only tested with luajit which supports the \xHH syntax added
in Lua 5.2.
The arrow is troublesome to use since the ideal way to use it, as
the OSD code uses it, needs \alpha&H00<arrow>\r to work, which
does not in OSC's way of showing messages.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Fixes regression since 05c398f.
Add helper functions for limiting potentially huge lists of
playlists and chapters and use them.
|
|
|
|
| |
Compensate \fs when using non-default scale(fullscreen|windowed).
|
| |
|
| |
|
|
|
|
|
|
| |
Change a few other defaults accordingly:
- seekbarstyle=bar looks better with bottombar.
- Bigger scalewindowed and scalefullscreen make bottom/topbar more readable.
|
| |
|
|
|
|
| |
Tooltip border is user-alterable
|
|
|
|
|
|
| |
This avoids a full transparent seekbar with only boxalpha=115.
No change with default values.
|
|
|
|
| |
Close #2093
|
| |
|
| |
|
|
|
|
| |
Fixes #3429
|
| |
|
|
|
|
|
| |
This is only a functionality the Lua event dispatcher provides, rather
than the libmpv client API.
|
|
|
|
|
|
| |
Instead of rechecking the timers every time after an event is read, do
it only once the event queue is empty. This is probably slightly more
efficient, and facilitates the next commit.
|
|
|
|
| |
EDL doesn't work with subtitles with unknown length.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes missing subtitle tracks if the first entry didn't have any.
Previously it just checked for the first entry in the playlist for
requested languages and if that entry happened to not have subtitles
they also wouldn't show up for the other entries.
It will skip languages if the first entry with subs has less or
different languages than the others.
Unrelated to http_dash_segments.
|
|
|
|
|
| |
Lintain (https://lintian.debian.org/) complains about this particular spelling
mistake.
|
|
|
|
| |
Unsupported for now.
|
|
|
|
|
|
|
| |
Old-style commands using _ as separator (e.g. show_progress) were still
used in some places, including documentation and configuration files.
This commit updates all such instances to the new style (show-progress)
so that commands are easier to find in the manual.
|
| |
|
|
|
|
| |
While at it, pass durations of segments from ytdl if available.
|
|
|
|
|
| |
Allows to query if some timer is currently running or was
stopped/killed.
|
|
|
|
| |
Partial fix to #3090
|
|
|
|
|
| |
Requested. The intention is that scripts can provide mappable actions
for key bindings without setting a default key.
|
|
|
|
|
|
|
|
|
| |
This changes behavior somewhat. The old behavior can be restored by
running "mp.use_suspend=true". It was originally introduced for the OSC,
but I can't reproduce whatever misbehavior I was seeing.
(See mp.suspend()/resume() for explanations what the suspend mechanism
does.)
|
|
|
|
|
| |
some extractors don't return a format_note for their audio stream which
resulted in commandv complaining "argument 4 is not a string" (got nil).
|
|
|
|
|
|
|
|
| |
The scaling was the wrong way around, and the section name was missing.
Regression since commit 5fa45fb5.
Fixes #2916.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not scale OSD mouse input to the ASS OSD script resolution. The
original idea of this mechanism was that the user doesn't have to care
about the actual resolution of anything, and can just use the OSD
resolution consistently. But this made things worse.
Remove the implicit scaling, and always use the screen resolution.
(Except with --vo=xv, where additional scaling is forced upon
everything.)
Drop get_osd_resolution(). There is no replacement. Rename
get_screen_size() and get_screen_margins() to use "osd" instead of
"screen". For anything but --vo=xv these are equivalent, but with
--vo=xv the OSD resolution has additional implicit scaling.
Add code to osc.lua which emulates the old behavior.
Note that none of the changed functions were public API, so implicit
breakage of scripts which used it is just going to happen.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds always-on mode by internally utilizing hidetimeout as negative and
forbidding the user to set negative values.
This removes script-message to enable/disable the osc, and instead introduces a
combined 'visibility' control with the values never/auto/always.
It's available via script_opts and script_message as 'osc-visibility'.
As message, it also supports a 'cycle' value.
The del key is bound to cycling the visibility modes.
|
|
|
|
|
|
|
|
|
|
|
| |
There were few issues:
- When it's disabled and then enabled, it was displaying the osc briefly and
then autohide right away. Don't do that.
- When it's enabled and then disabled, it was not removing the osc from screen
if called while the osc is visible (because tick() is responsible for the hide
but it doesn't render() the empty osc when the osc is disabled).
- Due to delayed/async unbinding of mouse events it was possible to show_osc()
after it got disabled e.g. from mouse_move. Prevent this.
|
|
|
|
|
| |
Some videos require correct Referer header for downloading, or 403
Forbidden is thrown.
|
|
|
|
|
|
| |
Defaults stay the same (--all-subs is used if sub-lang wasn't used.)
Don't forget to also add "write-sub=" if using sub-lang or else it won't
work.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Thanks to rcombs, ffmpeg now properly supports DASH and we can
remove our hacks for it and use it by default whenever
available. If you don't like this for whatever reason, you
can get the "normal" streams back with --ytdl-format=best .
Closes #579
Closes #1321
Closes #2359
|
|
|
|
| |
Closes #2370
|
| |
|
|
|
|
|
|
| |
This takes care of the corner case where the player is started with a
single playlist entry so that the next/prev arrows are greyed out, but
remain that way even after new elements are added to the playlist.
|
|
|
|
|
|
|
|
|
|
|
| |
Even after it has been disabled with the `disable-osc` message, the OSC
continues to run the tick function. Completely preventing tick from
being called is impractical since there are several different places
that it's called in the code, so just make it immediately return if the
OSC has been disabled.
This prevents the OSC from continuing the clear the OSD on every tick,
allowing other scripts to disable it so that they may draw to the OSD.
|
|
|
|
|
|
|
| |
Some extractors may claim to have extracted subtitles, but then
set the relevant fields to null. Try to catch those cases.
Fixes #2254
|
|
|
|
|
|
|
|
| |
enable_key_bindings()/disable_key_bindings() now prints a log message on
each call, thus we should avoid makign redundant calls.
This could probably be solved more elegantly, but since this is all
legacy/private API, don't bother.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removes some more internal API calls from the Lua scripting backend.
Which is good, because ideally the scripting backend would use libmpv
functions only.
One awkwardness is that mouse sections are still not supported by the
public commands (and probably will never), so flags like allow-hide-
cursor make no sense to an outside user.
Also, the way flags are passed to the Lua function changes. But that's
ok, because they're only undocumented internal functions, and not
supposed to be used by script users. osc.lua only does due to historical
reasons.
|
| |
|
|
|
|
|
| |
Fixes relatively excessive CPU usage when paused while playing audio
only.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Nobody wanted to restore this, so it gets the boot.
If anyone still wants to volunteer to restore menu support, this would
be welcome. (I might even try it myself if I feel masochistic and like
wasting a lot of time for nothing.) But if it does get restored, it
should be done differently. There were many stupid things about how it
was done. For example, it somehow tried to pull mp_nav_events through
all the layers (including needing to "buffer" them in the demuxer),
which was needlessly complicated. It could be done simpler.
This code was already inactive, so this commit actually changes nothing.
Also keep in mind that normal DVD/BD playback still works.
|
| |
|
| |
|
| |
|
|
|
|
| |
Total time and ms
|
|
|
|
|
| |
They can be handled by the same codes used for playlists, most of them will use an EDL.
Fixes #2027.
|