| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
It polluted the global namespace, instead of exporting the function
properly.
For now, keep it compatible by explicitly keeping the bogus export.
Also fix a mistake in the manpage example.
|
|
|
|
| |
It collides with the --length option.
|
|
|
|
|
|
| |
Now done in one place instead of mulitple times all over the code.
Fixes #1876
|
|
|
|
| |
Possibly fixes a crash (see #1101).
|
|
|
|
|
| |
Sometimes tries to index a nil object when seeking close to the end of
the file. See #1101.
|
| |
|
|
|
|
|
|
|
| |
Upon the "DEL" key binding or the "disable-osc" message, the OSC should
stay permanently invisible. This was recently broken (not sure by what),
because other code accidentally reenables it anyway, which resulted in
the OSC appearing again when moving the mouse.
|
| |
|
| |
|
|
|
|
| |
This currently doesn't work properly on OSX due to some bugs.
|
| |
|
|
|
|
|
|
|
|
|
| |
The flags weren't correctly set, and the mouse cursor remained visible
after leaving menu mode.
This was apparently broken in 0.7.0 too.
Fixes #1316.
|
|
|
|
|
|
|
| |
They interfere.
It turns out that commit b6ca4a48 actually broke this in weird ways, but
this solution is better anyway.
|
|
|
|
|
|
| |
So the OSC will still appear when using --no-input-default-bindings. It
also means it may override a user's mouse_move binding, but I guess
users who don't want the OSC should just use the --no-osc option.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Wether and when the text of a button should be squeezed when it
gets too long can now be configured in the layout:
lo.button.maxchars = <number>
nil = no squeezing (default)
If the button text has more than <maxchars> characters, it will
be squeezed to the estimated width of <maxchars>.
|
| |
|
| |
|
|
|
|
| |
now similar to what the status line displays
|
|
|
|
|
| |
Now that we use the symbols from the font, we should also
actually use the font.
|
|
|
|
| |
It was an unintended/accidental change.
|
|
|
|
|
| |
For use as playlist navigation button in OSC, now the osd-font
carries all symbols needed by the OSC.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code reorganized to make layouts exchangeable
alternative test layout can be tested with
layout=slimbox
in the OSC config
timers are now used to properly animate the fade out when the
player is paused
duplicate seeks are discarded again
|
| |
|
| |
|
|
|
|
| |
Fixes #919
|
|
|
|
| |
[osc] Lua error: mp.assdraw:31: attempt to concatenate local 's' (a nil value)
|
|
|
|
|
|
| |
This commit makes the playback start time always at time 0.
Signed-off-by: wm4 <wm4@nowhere>
|
|
|
|
|
| |
This avoids having to poll the "fullscreen" property in the tick
callback.
|
|
|
|
|
| |
calculation the mouse position on the slider relied on how the
hitbox is positioned, change it according to new hitbox size.
|
|
|
|
|
|
| |
should make usage a bit easy
Fixes #810
|
|
|
|
| |
also fix small typo in DOCS
|
| |
|
| |
|
|
|
|
|
| |
Quick hack to impove situtation until the next major overhaul
comes
|
|
|
|
|
|
|
|
|
| |
"enable-osc" will make the OSC appear at any time (although it'll
quickly disappear again if the mouse is not inside the OSC). "disable-
osc" will make it disappear permanently.
Also, if the OSC is visible, force remap the DEL key to make the OSC
disappear.
|
|
|
|
|
|
|
|
|
| |
E.g. binding MOUSE_BTN0 always used the user defined binding. While it
is ok that the user can override mouse_move and mouse_leave (for
whatever reasons), we want to strictly override the bindings when input
is sent to the OSC itself.
Regression since 03624a1.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until now, the --no-config was explicitly checked in multiple places to
suppress loading of config files.
Add such a check to the config path code itself, and refuse to resolve
_any_ configuration file locations if the option is set.
osc.lua needs a small fixup, because it didn't handle the situation when
no path was returned. There may some of such cases in the C code too,
but I didn't find any on a quick look.
|
|
|
|
|
|
|
|
|
| |
send_command -> command
send_commandv -> commandv
get_timer -> get_time
property_get -> get_property
property_get_string -> get_property_osd
getopt -> get_opt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is partial only, and it still accesses some MPContext internals.
Specifically, chapter and track lists are still read directly, and OSD
access is special-cased too.
The OSC seems to work fine, except using the fast-forward/backward
buttons. These buttons behave differently, because the OSC code had
certain assumptions how often its update code is called.
The Lua interface changes slightly.
Note that this has the odd property that Lua script and video start
at the same time, asynchronously. If this becomes an issue, explicit
synchronization could be added.
|
|
|
|
| |
... to decide wether the seekbar should be enabled or not.
|
|
|
|
|
| |
See previous commit. Drop no-osd prefixes, as this is the default for
send_commandv anyway. send_command should probably be renamed later.
|
|
|