feat(mpv): add experimental on the fly changing of translation type and auto next

This commit is contained in:
Benex254
2024-08-07 14:00:23 +03:00
parent 06078edf76
commit 90dd1c3edb
2 changed files with 16 additions and 7 deletions

View File

@@ -83,12 +83,6 @@ def player_controls(config: "Config", anilist_config: QueryDict):
anilist_config,
config,
selected_server["episode_title"],
anilist_config,
config,
selected_server["episode_title"],
anilist_config,
config,
selected_server["episode_title"],
)
mpv.play(current_link)
mpv.wait_for_shutdown()

View File

@@ -28,7 +28,7 @@ class MpvPlayer(object):
last_total_time_secs = 0
current_media_title = ""
def get_episode(self, type: "Literal['next','previous']"):
def get_episode(self, type: "Literal['next','previous','reload']"):
anilist_config = self.anilist_config
config = self.config
episode_number: str = anilist_config.episode_number
@@ -48,6 +48,8 @@ class MpvPlayer(object):
anilist_config.episode_number = episodes[next_episode]
episode_number = anilist_config.episode_number
config.update_watch_history(anime_id, episodes[next_episode])
elif type == "reload":
episode_number = anilist_config.episode_number
else:
self.mpv_player.print_text("Fetching previous episode")
prev_episode = episodes.index(episode_number) - 1
@@ -134,6 +136,19 @@ class MpvPlayer(object):
def _toggle_auto_next():
config.auto_next = not config.auto_next
@mpv_player.on_key_press("shift+t")
def _toggle_translation_type():
config.translation_type = (
"sub" if config.translation_type == "dub" else "dub"
)
@mpv_player.on_key_press("shift+r")
def _reload():
url = self.get_episode("reload")
if url:
mpv_player.loadfile(url, options=f"title={self.current_media_title}")
mpv_player.title = self.current_media_title
@mpv_player.property_observer("time-pos")
def handle_time_start_update(*args):
if len(args) > 1: