Commit graph

101 commits

Author SHA1 Message Date
jaseg
759b9701c3 mpv.py: add wait_until_paused, wait_until_playing 2020-07-16 19:28:33 +02:00
jaseg
7362f663c1 mpv.py: Add overlay support 2020-07-16 15:01:35 +02:00
jaseg
b68a03c9d0 mpv.py: add some missing commands 2020-07-16 13:02:14 +02:00
Louis-Philippe Véronneau
b4f5b10699 remove superfluous whitespaces 2020-07-15 22:03:37 +02:00
jaseg
c3eef35f59 Fix handling of dashed options in loadfile.
Add tests based on --sub-file. Also add a test for sub_add here.
2020-07-12 13:27:53 +02:00
jaseg
3c21d679da Initial libmpv/render.h mapping
For an example using this with GTK see:
https://gist.github.com/jaseg/657e8ecca3267c0d82ec85d40f423caa
2020-01-03 01:08:16 +01:00
jaseg
63f9b74247 Windows: Use cytpes.load_library to look for DLL 2019-12-04 09:48:16 +01:00
ripdog
62ef265e2d Allow mpv-1.dll to be placed in python script directory (#96)
Windows: Look for DLL in script directory

Loading DLLs through ctypes on Windows is a mess. ctypes looks in PATH, which is different from the Windows built-in DLL loading system. By default ctypes looks next to python.exe, but you might not want to install python script dependencies next to the system-wide python interpreter.

This commit adds a fallback looking for mpv-1.dll in the same directory the mpv.py script is placed in to allow people to use python-mpv with a minimum in configuration. You can still control loading behavior through PATH. For details on this, consult the following stackoverflow answer: https://stackoverflow.com/a/23805306
2019-12-03 23:47:47 +01:00
jaseg
c7a50aec38 Fix Python 3.5 compatibility 2019-12-02 12:32:33 +01:00
jaseg
49e6f6f6d0 Add stream protocol handling
This allows you to directly feed bytes into mpv without going through a
file, FIFO etc. first. The new API is:

@player.register_stream_protocol(name)
@player.python_stream(name, size)
@player.python_stream_catchall

See their docstrings for their usage.
2019-12-01 21:25:04 +01:00
jaseg
35e69cd93e key bindings: Introduce key char parameter
Adapt key binding script message handling to be compatible with the new
key char parameter introduced upstream in
21f2468d67

This change is backwards-compatible. With older mpv versions this
parameter will be None.
2019-11-26 12:26:37 +01:00
dfaker
728e8b2556 Use stride//4 rather than the returned image w
As per discussion on the mpv issue https://github.com/mpv-player/mpv/issues/7076 to handle the screenshot-raw when vf cropping filters are in use.
2019-11-10 16:11:22 +01:00
cosven
7905ebacdd fix: getProcAddr function should return a function or 0 2019-02-07 23:35:14 +08:00
jaseg
a873fd7f7b command: fix default show-text duration param value
The mpv manpage seems to be wrong here. A look at mpv's command.c show
that -1 works fine here.
2018-07-25 12:07:52 +02:00
jaseg
62add955f9 Refactor node_cast_value to use large if/elif instead of dict lookup 2017-12-25 13:16:58 +01:00
jaseg
8f5f5c645b Fix MpvNode logic to use pröper unions
...instead of lots manual ctypes pointer casting
2017-12-24 22:43:13 +01:00
Vilius Grigaliūnas
345ffb1998 Fixed TypeError: _handle_key_binding_message() signature incompatibility with mpv < v0.15.0
key-binding message has key name parameter only since mpv version 0.15.0 (as stated in manual), therefore trying to bind keys with earlier versions results in TypeError: _handle_key_binding_message() missing 1 required positional argument: 'key_name'.

This change makes this argument optional and default to None.
2017-09-18 20:21:58 +03:00
jaseg
901e42042b Nicer API names for add/multiply/cycle property
add: _add_property -> property_add
multiply: _multiply_property -> property_multiply
cycle: _cycle_property -> cycle
2017-09-14 12:07:11 +02:00
jaseg
dcf75e604c Wrap all docstrings to 120 char line width
This is to stay consistent with everything else.
2017-09-14 12:03:50 +02:00
Raphael McSinyx
fa125c6604 Reformat doctrings to follow PEP 257 and use reStructuredText 2017-09-13 15:46:13 +07:00
Raphael McSinyx
9f4b31f166 Fix add, cycle and multiply command. 2017-09-13 15:17:30 +07:00
jaseg
2ca5c7b9c8 Add on_key_press 2017-08-21 15:36:03 +02:00
jaseg
7f929b09fe Fix key binding registration for bound methods, add unit tests 2017-08-20 23:37:18 +02:00
jaseg
1c6d74dd91 Fix window dragging while using custom key bindings
closes #45
2017-08-20 23:12:20 +02:00
jaseg
13191bfeb9 mpv, mpv-test: Fix vim mode lines 2017-08-06 22:28:01 +02:00
jaseg
22373ba7ba Restore compatibility with older libmpv versions
At least v0.26.0 also works with the unfixed version
2017-08-06 21:45:19 +02:00
jaseg
d21cfa2812 mpv.py: Un-break property write access 2017-08-06 21:16:09 +02:00
jaseg
48eb88ef54 Add pillow-based screenshot_raw command 2017-08-03 12:39:44 +02:00
jaseg
1582390031 Move to fully FORMAT_NODE-based API
This will break lots of stuff.
* Use MPV_FORMAT_NODE mostly everywhere
* Dynamically discover properties instead of using a static list
* Modify encoding handling to be more versatile
2017-08-03 12:36:21 +02:00
jaseg
e0591798f2 Fixes for libmpv v0.26.0 2017-08-03 00:53:27 +02:00
jaseg
e29d499f18 mpv module: Remove load_lua
It wouldn't work on all systems anyway due to differing names for liblua
("liblua.so", "liblua-5.1.so" etc.) and also doesn't seem to be
necessary anymore.
2017-08-02 10:46:36 +02:00
jaseg
7dc375f85c MPV constructor: Add loglevel argument 2017-08-02 10:46:13 +02:00
jaseg
0eb1ee8dab Fix register_event_callback to work with methods 2017-07-23 14:45:00 +02:00
jaseg
121575f814 Remove debug hack accidentially left in the code 2017-07-13 00:40:31 +02:00
jaseg
e52a9545f7 Fix message handler registration and advanced README example 2017-07-13 00:37:25 +02:00
jaseg
a80f638732 Make compatible with libmpv 0.22.0 2017-07-03 13:13:50 +02:00
jaseg
03492ba394 Add support for string-array options 2017-07-03 12:25:27 +02:00
jaseg
11f534897c mpv-test: Fix some tests, add property observer decorator test
Also fix ass-style-override
2017-05-26 14:02:24 +02:00
Matt Deacalion Stevens
b1f81ac561
Fix unobserve_property RuntimeError 2017-05-21 10:58:36 +01:00
jaseg
5ca3a0250c Fix typo in register_key_binding 2017-05-20 22:34:08 +02:00
jaseg
b2993ceaaa Add property observer format override 2017-05-11 15:49:11 +02:00
jaseg
c47bd2a2c6 BREAKING: Move property observation API to NODE format 2017-05-10 18:29:41 +02:00
jaseg
303eedbb3b Add documentation and polish handler registration 2017-05-10 14:05:10 +02:00
jaseg
7a378544d5 MPV.event_callback: Allow str event type names 2017-05-10 12:14:43 +02:00
jaseg
d2ffe25700 Update properties for current upstream master 2017-05-10 11:56:00 +02:00
jaseg
f55b62667f Add OSD property access 2017-05-10 11:56:00 +02:00
jaseg
ab773a5934 Add callback/message handler decorators 2017-05-10 11:55:42 +02:00
jaseg
28fdc21a24 Organize convenience functions 2017-05-07 15:58:58 +02:00
jaseg
9a9a8bb2c9 Add playlist_append porcelain 2017-05-07 15:34:36 +02:00
jaseg
32b5fb8627 Add license header 2017-05-07 15:29:02 +02:00