qwwwe / ui /main.py
sduo's picture
Update ui/main.py
123ce65
raw
history blame contribute delete
No virus
3.08 kB
import os
import time
import gradio as gr
import roop.globals
import roop.metadata
import roop.utilities as util
import ui.globals as uii
from ui.tabs.faceswap_tab import faceswap_tab
from ui.tabs.livecam_tab import livecam_tab
from ui.tabs.facemgr_tab import facemgr_tab
from ui.tabs.extras_tab import extras_tab
from ui.tabs.settings_tab import settings_tab
roop.globals.keep_fps = None
roop.globals.keep_frames = None
roop.globals.skip_audio = None
roop.globals.use_batch = None
def prepare_environment():
roop.globals.output_path = os.path.abspath(os.path.join(os.getcwd(), "output"))
os.makedirs(roop.globals.output_path, exist_ok=True)
if not roop.globals.CFG.use_os_temp_folder:
os.environ["TEMP"] = os.environ["TMP"] = os.path.abspath(os.path.join(os.getcwd(), "temp"))
os.makedirs(os.environ["TEMP"], exist_ok=True)
os.environ["GRADIO_TEMP_DIR"] = os.environ["TEMP"]
def run():
from roop.core import decode_execution_providers, set_display_ui
prepare_environment()
set_display_ui(show_msg)
roop.globals.execution_providers = decode_execution_providers([roop.globals.CFG.provider])
print(f'Using provider {roop.globals.execution_providers} - Device:{util.get_device()}')
run_server = True
uii.ui_restart_server = False
mycss = """
span {color: var(--block-info-text-color)}
#fixedheight {
max-height: 238.4px;
overflow-y: auto !important;
}
"""
uii.ui_live_cam_active = roop.globals.CFG.live_cam_start_active
while run_server:
server_name = roop.globals.CFG.server_name
if server_name is None or len(server_name) < 1:
server_name = None
server_port = roop.globals.CFG.server_port
if server_port <= 0:
server_port = None
ssl_verify = False if server_name == '127.0.0.1' else True
with gr.Blocks(title=f'{roop.metadata.name} {roop.metadata.version}', theme=roop.globals.CFG.selected_theme, css=mycss) as ui:
with gr.Row(variant='compact'):
gr.Markdown(f"### [{roop.metadata.name} {roop.metadata.version}](https://github.com/C0untFloyd/roop-unleashed)")
gr.HTML(util.create_version_html(), elem_id="versions")
faceswap_tab()
livecam_tab()
facemgr_tab()
extras_tab()
settings_tab()
uii.ui_restart_server = False
try:
ui.queue().launch(inbrowser=True, server_name=server_name, server_port=server_port, prevent_thread_lock=True, show_error=True)
except Exception as e:
print(f'Exception {e} when launching Gradio Server!')
uii.ui_restart_server = True
run_server = False
try:
while uii.ui_restart_server == False:
time.sleep(1.0)
except (KeyboardInterrupt, OSError):
print("Keyboard interruption in main thread... closing server.")
run_server = False
ui.close()
def show_msg(msg: str):
gr.Info(msg)