|
import multiprocessing |
|
import gradio |
|
|
|
import facefusion.globals |
|
from facefusion.uis.components import about, frame_processors, frame_processors_options, execution, execution_thread_count, execution_queue_count, memory, temp_frame, output_options, common_options, source, target, output, preview, trim_frame, face_analyser, face_selector, face_masker |
|
|
|
|
|
def pre_check() -> bool: |
|
return True |
|
|
|
|
|
def pre_render() -> bool: |
|
return True |
|
|
|
|
|
def render() -> gradio.Blocks: |
|
with gradio.Blocks() as layout: |
|
with gradio.Row(): |
|
with gradio.Column(scale = 2): |
|
with gradio.Blocks(): |
|
about.render() |
|
with gradio.Blocks(): |
|
frame_processors.render() |
|
with gradio.Blocks(): |
|
frame_processors_options.render() |
|
with gradio.Blocks(): |
|
execution.render() |
|
execution_thread_count.render() |
|
execution_queue_count.render() |
|
with gradio.Blocks(): |
|
memory.render() |
|
with gradio.Blocks(): |
|
temp_frame.render() |
|
with gradio.Blocks(): |
|
output_options.render() |
|
with gradio.Column(scale = 2): |
|
with gradio.Blocks(): |
|
source.render() |
|
with gradio.Blocks(): |
|
target.render() |
|
with gradio.Blocks(): |
|
output.render() |
|
with gradio.Column(scale = 3): |
|
with gradio.Blocks(): |
|
preview.render() |
|
with gradio.Blocks(): |
|
trim_frame.render() |
|
with gradio.Blocks(): |
|
face_selector.render() |
|
with gradio.Blocks(): |
|
face_masker.render() |
|
with gradio.Blocks(): |
|
face_analyser.render() |
|
with gradio.Blocks(): |
|
common_options.render() |
|
return layout |
|
|
|
|
|
def listen() -> None: |
|
frame_processors.listen() |
|
frame_processors_options.listen() |
|
execution.listen() |
|
execution_thread_count.listen() |
|
execution_queue_count.listen() |
|
memory.listen() |
|
temp_frame.listen() |
|
output_options.listen() |
|
source.listen() |
|
target.listen() |
|
output.listen() |
|
preview.listen() |
|
trim_frame.listen() |
|
face_selector.listen() |
|
face_masker.listen() |
|
face_analyser.listen() |
|
common_options.listen() |
|
|
|
|
|
def run(ui : gradio.Blocks) -> None: |
|
concurrency_count = min(8, multiprocessing.cpu_count()) |
|
ui.queue(concurrency_count = concurrency_count).launch(show_api = False, quiet = True, inbrowser = facefusion.globals.open_browser, share=True) |
|
|