Commit graph

162 commits

Author SHA1 Message Date
Marcel Moreaux
b5f03dd2b7 Fix handling of c_void_p args in MpvRenderParam.__init__()
Handling of c_void_p args (x11_display, wl_display) was broken.
Added a case to correctly handle the c_void_p constructor case.
See https://github.com/jaseg/python-mpv/issues/169
2021-07-28 12:37:55 +02:00
hixz00
3105db35a4 mpv.py: update: Use ctypes.memmove to speed up 2021-01-19 18:59:59 +01:00
Dziqs
035e1db1db Fixing typo in keep_playlist causing NameError 2020-07-25 23:42:26 +02:00
jaseg
1f2b0058b3 mpv.py: terminate: Raise warning when called from event thread. 2020-07-19 22:34:24 +02:00
jaseg
e85342a147 mpv.py: add wait_for_shutdown 2020-07-19 22:33:56 +02:00
jaseg
d6840f800e mpv.py: add check_core_alive, check core in __getattr__, __setattr__ 2020-07-19 22:33:42 +02:00
jaseg
583f12ed63 mpv.py: add prepare_and_wait_for_property 2020-07-19 21:54:40 +02:00
jaseg
632a87af49 mpv.py: Update copyright date 2020-07-19 21:13:36 +02:00
jaseg
0ea4622fb7 mpv.py: Add docstrings to new additions to API 2020-07-18 14:28:46 +02:00
jaseg
846f2a65ae Sprinkle some thread safety over event loop, add *wait_for_event 2020-07-18 14:21:31 +02:00
jaseg
ad68ec5927 mpv.py: improve shutdown handling, replace wait_for_playback 2020-07-18 00:06:04 +02:00
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