| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This additional sub-directory doesn't serve any purpose anymore. Get rid
of it.
|
|
|
|
|
|
|
|
|
|
|
| |
Commit e2e450f9 started making use of luaL_register(), but OF COURSE
this function disappeared in Lua 5.2, and was replaced with a 5.2-only
alternative, slightly different mechanism.
So just NIH our own function. This is actually slightly more correct,
since it forces the user to call "require" to actually make the module
visible for builtin C-only modules other than "mp". Fix autoload.lua
accordingly.
|
|
|
|
|
|
|
|
|
|
|
| |
We need this only because Lua's stdlib is so scarce. Lua doesn't intend
to include a complete stdlib - they confine themselves to standard C,
both for portability reasons and to keep the code minimal. But standard
C does not provide much either.
It would be possible to use Lua POSIX wrapper libraries, but that would
be a messy (and unobvious) dependency. It's better to implement the
missing functions ourselves, as long as they're small in number.
|
| |
|
|
|
|
| |
also fix small typo in DOCS
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
--msgcolor → --msg-color
--msglevel → --msg-level
--msgmodule → --msg-module
--msgtime → --msg-time (also document this one)
--playing-msg → --term-playing-msg
--status-msg → --term-status-msg
|
|
|
|
|
|
|
|
|
| |
This affects the return value of mp.script_name, the "client name"
(what's returned by mpv_client_name()) and all associated features, as
well as the mpv terminal output module prefix when scripts print
something.
As discussed in #748.
|
| |
|
|
|
|
| |
Also works for mpv_observe_property() on the "chapter" property.
|
|
|
|
|
|
|
|
|
| |
And slightly adjust the semantics of MPV_EVENT_PAUSE/MPV_EVENT_UNPAUSE.
The real pause state can now be queried with the "core-idle" property,
the user pause state with the "pause" property, whether the player is
paused due to cache with "paused-for-cache", and the keep open event can
be guessed with the "eof-reached" property.
|
|
|
|
| |
This will be less confusing.
|
|
|
|
| |
We provide some "official" utility functions for this.
|
|
|
|
| |
Pretty much experimental for issue #661.
|
| |
|
|
|
|
|
| |
This is done simply by comparing the previous and current values. Do
this only if the requested format is not MPV_FORMAT_NONE.
|
|
|
|
|
| |
A low level API was added already earlier, but that was merely a binding
for the raw C API. Add a "proper" one, and document it.
|
|
|
|
|
|
|
|
|
|
|
| |
Now they can be paused and resumed.
Since pausing and disabling the timer is essentially the same underlying
operation, we also just provide one method for it.
mp.cancel_timer probably still works, but I'm considering this
deprecated, and it's removed from the manpage. (We didn't have a release
with this function yet, so no formal deprecation.)
|
|
|
|
| |
Someone requested this... I think.
|
|
|
|
| |
More consistent naming.
|
|
|
|
|
|
|
|
| |
Change script_message to broadcast the message to all clients. Add a new
script_message_to command, which does what the old script_message
command did.
This is intended as simplification, although it might lead to chaos too.
|
| |
|
|
|
|
| |
I forgot about this.
|
|
|
|
|
|
| |
Probably completely useless, at least for now.
Also not very well tested, but initial test seems successful.
|
|
|
|
|
|
|
|
|
| |
Not sure about this... might redo.
At least this provides a case of a broadcasted event, which requires
per-event data allocation.
See github issue #576.
|
|
|
|
|
|
| |
There are some complications because the client API distinguishes
between integers and floats, while Lua has only "numbers" (which are
usually floats). But I think this should work now.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This is simply not important enough to warrant so much space, and it's
perhaps also very confusing.
Although I'm not fully sure, since this is about the only way that
allows a user to interact with a script, besides key bindings and static
options.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was already an undocumented mechanism provided by
mp.set_key_bindings and other functions, but this was relatively
verbose, and also weird. It was mainly to make the OSC happy (including
being efficient and supporting weird corner cases), while the new
functions try to be a bit simpler.
This also provides a way to let users rebind script-provided commands.
(This mechanism is less efficient, because it's O(n^2) for n added key
bindings, but it shouldn't matter.)
|
|
|
|
|
| |
This comes with a "script_message" input command, which sends these
messages. Used by the following commits.
|
|
|
|
|
| |
E.g. ``mp.get_property("foo", "value")`` will return ``value`` if the
property can't be read.
|
|
|
|
|
|
|
|
| |
Instead, chain them.
Note that there's no logic to prevent the other event handlers to be run
from an event handler (like it's popular in GUI toolkits), because I
think that's not very useful for this purpose.
|
| |
|
| |
|
|
|
|
|
| |
Using such a small table is not such a great idea, because you can't put
much information in it, even if you need to.
|
| |
|
|
|
|
|
|
| |
It was split at the wrong sentence.
Also, sneak in a reference to mp.suspend.
|
| |
|
| |
|
|
|
|
| |
No other changes, just adding a paragraph break and reflowing the text.
|
| |
|
| |
|
| |
|
|
This is preliminary. There are still tons of issues, and any aspect
of scripting may change in the future. I decided to merge this
(preliminary) work now because it makes it easier to develop it, not
because it's done. lua.rst is clear enough about it (plus some
sarcasm).
This requires linking to Lua. Lua has no official pkg-config file, but
there are distribution specific .pc files, all with different names.
Adding a non-pkg-config based configure test was considered, but we'd
rather not.
One major complication is that libquvi links against Lua too, and if
the Lua version is different from mpv's, you will get a crash as soon
as libquvi uses Lua. (libquvi by design always runs when a file is
opened.) I would consider this the problem of distros and whoever
builds mpv, but to make things easier for users, we add a terrible
runtime test to the configure script, which probes whether libquvi
will crash. This is disabled when cross-compiling, but in that case
we hope the user knows what he is doing.
|