Add flags to settings

This commit is contained in:
henryruhs 2023-07-29 23:07:23 +02:00
parent eb016d8fc1
commit b0c59ba506
4 changed files with 40 additions and 12 deletions

View File

@ -44,15 +44,11 @@ def render() -> None:
preview_image = gradio.Image(**preview_image_args)
preview_slider = gradio.Slider(**preview_slider_args)
preview_slider.change(update, inputs=preview_slider, outputs=[preview_image, preview_slider], show_progress=False)
source_file = ui.get_component('source_file')
target_file = ui.get_component('target_file')
frame_processors_checkbox_group = ui.get_component('frame_processors_checkbox_group')
if source_file:
source_file.change(update, inputs=preview_slider, outputs=[preview_image, preview_slider])
if target_file:
target_file.change(update, outputs=[preview_image, preview_slider])
if frame_processors_checkbox_group:
frame_processors_checkbox_group.change(update, inputs=preview_slider, outputs=[preview_image, preview_slider])
component_names = ['source_file', 'target_file', 'frame_processors_checkbox_group', 'many_faces_checkbox']
for component_name in component_names:
component = ui.get_component(component_name)
if component:
component.change(update, inputs=preview_slider, outputs=[preview_image, preview_slider])
def update(frame_number: int = 0) -> Tuple[Dict[Any, Any], Dict[Any, Any]]:

View File

@ -1,4 +1,4 @@
from typing import Any, Dict, List
from typing import Any, Dict, List, Literal
import gradio
import onnxruntime
@ -31,9 +31,32 @@ def render() -> None:
minimum=1,
maximum=64
)
with gradio.Box():
keep_fps_checkbox = gradio.Checkbox(
label='keep_fps',
value=roop.globals.keep_fps
)
keep_frames_checkbox = gradio.Checkbox(
label='keep_frames',
value=roop.globals.keep_fps
)
skip_audio_checkbox = gradio.Checkbox(
label='skip_audio',
value=roop.globals.skip_audio
)
many_faces_checkbox = gradio.Checkbox(
label='many_faces',
value=roop.globals.many_faces
)
ui.register_component('many_faces_checkbox', many_faces_checkbox)
frame_processors_checkbox_group.change(update_frame_processors, inputs=frame_processors_checkbox_group, outputs=frame_processors_checkbox_group)
execution_providers_checkbox_group.change(update_execution_providers, inputs=execution_providers_checkbox_group, outputs=execution_providers_checkbox_group)
execution_threads_slider.change(update_execution_threads, inputs=execution_threads_slider, outputs=execution_threads_slider)
keep_fps_checkbox.change(lambda value: update_checkbox('keep_fps', value), inputs=keep_fps_checkbox, outputs=keep_fps_checkbox)
keep_frames_checkbox.change(lambda value: update_checkbox('keep_frames', value), inputs=keep_frames_checkbox, outputs=keep_frames_checkbox)
skip_audio_checkbox.change(lambda value: update_checkbox('skip_audio', value), inputs=skip_audio_checkbox, outputs=skip_audio_checkbox)
many_faces_checkbox.change(lambda value: update_checkbox('many_faces', value), inputs=many_faces_checkbox, outputs=many_faces_checkbox)
def update_frame_processors(frame_processors: List[str]) -> Dict[Any, Any]:
@ -50,3 +73,8 @@ def update_execution_providers(execution_providers: List[str]) -> Dict[Any, Any]
def update_execution_threads(execution_threads: int = 1) -> Dict[Any, Any]:
roop.globals.execution_threads = execution_threads
return gradio.update(value=execution_threads)
def update_checkbox(name: str, value: bool) -> Dict[Any, Any]:
setattr(roop.globals, name, value)
return gradio.update(value=value)

View File

@ -32,5 +32,4 @@ def update(file: IO[Any]) -> Dict[str, Any]:
roop.globals.source_path = file.name
return gradio.update(value=file.name, visible=True)
roop.globals.source_path = None
clear_face_reference()
return gradio.update(value=None, visible=False)

View File

@ -2,4 +2,9 @@ from typing import Literal
import gradio
Component = gradio.File or gradio.Image or gradio.Video
ComponentName = Literal['source_file', 'target_file', 'frame_processors_checkbox_group']
ComponentName = Literal[
'source_file',
'target_file',
'frame_processors_checkbox_group',
'many_faces_checkbox'
]