diff options
author | ripdog <ripdog@users.noreply.github.com> | 2019-12-04 11:42:57 +1300 |
---|---|---|
committer | jaseg <code@jaseg.net> | 2019-12-03 23:47:47 +0100 |
commit | 62ef265e2daf49436079bb23a23de7398b57eaab (patch) | |
tree | 23d875efb13d564eb3095dd907c07d4217ca9439 | |
parent | 9d9c2b26f3fe173964f702e1c7c22f866d2411c8 (diff) | |
download | python-mpv-62ef265e2daf49436079bb23a23de7398b57eaab.tar.gz python-mpv-62ef265e2daf49436079bb23a23de7398b57eaab.tar.bz2 python-mpv-62ef265e2daf49436079bb23a23de7398b57eaab.zip |
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
-rw-r--r-- | mpv.py | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -28,7 +28,10 @@ import re import traceback if os.name == 'nt': - backend = CDLL('mpv-1.dll') + try: + backend = CDLL('mpv-1.dll') + except FileNotFoundError: + backend = CDLL(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'mpv-1.dll')) fs_enc = 'utf-8' else: import locale |