mirror of
https://github.com/remsky/Kokoro-FastAPI.git
synced 2025-04-13 09:39:17 +00:00
51 lines
1.6 KiB
Python
51 lines
1.6 KiB
Python
from typing import Tuple
|
|
|
|
import gradio as gr
|
|
|
|
from .. import files
|
|
|
|
|
|
def create_output_column(disable_local_saving: bool = False) -> Tuple[gr.Column, dict]:
|
|
"""Create the output column with audio player and file list."""
|
|
with gr.Column(scale=1) as col:
|
|
gr.Markdown("### Latest Output")
|
|
audio_output = gr.Audio(label="Generated Speech", type="filepath")
|
|
|
|
# Create file-related components with visible=False when local saving is disabled
|
|
gr.Markdown("### Generated Files", visible=not disable_local_saving)
|
|
output_files = gr.Dropdown(
|
|
label="Previous Outputs",
|
|
choices=files.list_output_files() if not disable_local_saving else [],
|
|
value=None,
|
|
allow_custom_value=False,
|
|
visible=not disable_local_saving,
|
|
)
|
|
|
|
play_btn = gr.Button(
|
|
"▶️ Play Selected",
|
|
size="sm",
|
|
visible=not disable_local_saving,
|
|
)
|
|
|
|
selected_audio = gr.Audio(
|
|
label="Selected Output",
|
|
type="filepath",
|
|
visible=False, # Always initially hidden
|
|
)
|
|
|
|
clear_outputs = gr.Button(
|
|
"⚠️ Delete All Previously Generated Output Audio 🗑️",
|
|
size="sm",
|
|
variant="secondary",
|
|
visible=not disable_local_saving,
|
|
)
|
|
|
|
components = {
|
|
"audio_output": audio_output,
|
|
"output_files": output_files,
|
|
"play_btn": play_btn,
|
|
"selected_audio": selected_audio,
|
|
"clear_outputs": clear_outputs,
|
|
}
|
|
|
|
return col, components
|