Skip to content

Commit

Permalink
player: loadfile for mpv v0.38.0, fix #823 (#824)
Browse files Browse the repository at this point in the history
pickup from upstream: jaseg/python-mpv@d96eaf7
  • Loading branch information
seiuneko committed Apr 21, 2024
1 parent b16d0bc commit 3666648
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions feeluown/mpv.py
Original file line number Diff line number Diff line change
Expand Up @@ -863,6 +863,8 @@ def __init__(self, *extra_mpv_flags, log_handler=None, start_event_thread=True,
self._event_thread.start()
else:
self._event_thread = None
if m := re.search(r'(\d+)\.(\d+)\.(\d+)', self.mpv_version):
self.mpv_version_tuple = tuple(map(int, m.groups()))

def _loop(self):
for event in _event_generator(self._event_handle):
Expand Down Expand Up @@ -1152,9 +1154,16 @@ def playlist_play_index(self, idx):
def _encode_options(options):
return ','.join('{}={}'.format(_py_to_mpv(str(key)), str(val)) for key, val in options.items())

def loadfile(self, filename, mode='replace', **options):
def loadfile(self, filename, mode='replace', index=None, **options):
"""Mapped mpv loadfile command, see man mpv(1)."""
self.command('loadfile', filename.encode(fs_enc), mode, MPV._encode_options(options))
if self.mpv_version_tuple >= (0, 38, 0):
if index is None:
index = -1
self.command('loadfile', filename.encode(fs_enc), mode, index, MPV._encode_options(options))
else:
if index is not None:
warn(f'The index argument to the loadfile command is only supported on mpv >= 0.38.0')
self.command('loadfile', filename.encode(fs_enc), mode, MPV._encode_options(options))

def loadlist(self, playlist, mode='replace'):
"""Mapped mpv loadlist command, see man mpv(1)."""
Expand Down

0 comments on commit 3666648

Please sign in to comment.