@@ -370,6 +370,9 @@ def compose(self) -> ComposeResult:
370370 Select .BLANK if player == "AutomaticPlayer" else player
371371 ),
372372 )
373+ yield Input (placeholder = "Path" , id = "path" , value = settings ["player" ]["path" ])
374+ yield Input (placeholder = "Args - {url} {title}" , id = "args" , value = settings ["player" ]["args" ])
375+
373376 with Collapsible (title = "ani-skip (MPV & VLC only)" , collapsed = False ):
374377 yield RadioButton (
375378 "Skip opening" ,
@@ -394,6 +397,12 @@ def compose(self) -> ComposeResult:
394397 async def input_changed (self , event : Input .Changed ):
395398 if event .control .id == "input" :
396399 self .lookup_anime (event .value )
400+ if event .control .id == "path" :
401+ gucken_settings_manager .settings ["settings" ]["player" ]["path" ] = event .value
402+ gucken_settings_manager .save ()
403+ if event .control .id == "args" :
404+ gucken_settings_manager .settings ["settings" ]["player" ]["args" ] = event .value
405+ gucken_settings_manager .save ()
397406
398407 @on (Select .Changed )
399408 def on_season_filter_changed (self , event : Select .Changed ) -> None :
@@ -466,6 +475,7 @@ async def checkbox_changed(self, event: Checkbox.Changed):
466475
467476 if event .control .has_class ("provider" ):
468477 settings ["providers" ][id ] = event .value
478+ gucken_settings_manager .save ()
469479 self .lookup_anime (self .query_one ("#input" , Input ).value )
470480
471481 @on (RadioButton .Changed )
@@ -498,6 +508,7 @@ async def radio_button_changed(self, event: RadioButton.Changed):
498508 img .image = None
499509
500510 settings [id ] = event .value
511+ gucken_settings_manager .save ()
501512
502513 if id == "discord_presence" :
503514 if event .value is True :
@@ -868,7 +879,9 @@ async def play(
868879 fullscreen = gucken_settings_manager .settings ["settings" ]["fullscreen" ]
869880
870881 title = f"{ series_search_result .name } S{ episode .season } E{ episode .episode_number } - { episode .title } "
871- args = _player .play (direct_link .url , title , fullscreen , direct_link .headers )
882+
883+ path = gucken_settings_manager .settings ["settings" ]["player" ]["path" ]
884+ args = _player .play (direct_link .url , title , fullscreen , direct_link .headers , path )
872885
873886 if self .RPC and self .RPC .sock_writer :
874887 async def update ():
0 commit comments