支持固定脚本多种分割方式(段落/行/句子),修复Edge TTS和模板切换问题
This commit is contained in:
@@ -59,6 +59,23 @@ def render_content_input():
|
||||
help=text_help
|
||||
)
|
||||
|
||||
# Split mode selector (only show in fixed mode)
|
||||
if mode == "fixed":
|
||||
split_mode_options = {
|
||||
"paragraph": tr("split.mode_paragraph"),
|
||||
"line": tr("split.mode_line"),
|
||||
"sentence": tr("split.mode_sentence"),
|
||||
}
|
||||
split_mode = st.selectbox(
|
||||
tr("split.mode_label"),
|
||||
options=list(split_mode_options.keys()),
|
||||
format_func=lambda x: split_mode_options[x],
|
||||
index=0, # Default to paragraph mode
|
||||
help=tr("split.mode_help")
|
||||
)
|
||||
else:
|
||||
split_mode = "paragraph" # Default for generate mode (not used)
|
||||
|
||||
# Title input (optional for both modes)
|
||||
title = st.text_input(
|
||||
tr("input.title"),
|
||||
@@ -87,7 +104,8 @@ def render_content_input():
|
||||
"mode": mode,
|
||||
"text": text,
|
||||
"title": title,
|
||||
"n_scenes": n_scenes
|
||||
"n_scenes": n_scenes,
|
||||
"split_mode": split_mode
|
||||
}
|
||||
|
||||
else:
|
||||
|
||||
@@ -47,6 +47,7 @@ def render_single_output(pixelle_video, video_params):
|
||||
mode = video_params.get("mode", "generate")
|
||||
title = video_params.get("title")
|
||||
n_scenes = video_params.get("n_scenes", 5)
|
||||
split_mode = video_params.get("split_mode", "paragraph")
|
||||
bgm_path = video_params.get("bgm_path")
|
||||
bgm_volume = video_params.get("bgm_volume", 0.2)
|
||||
|
||||
@@ -129,6 +130,7 @@ def render_single_output(pixelle_video, video_params):
|
||||
"mode": mode,
|
||||
"title": title if title else None,
|
||||
"n_scenes": n_scenes,
|
||||
"split_mode": split_mode,
|
||||
"media_workflow": workflow_key,
|
||||
"frame_template": frame_template,
|
||||
"prompt_prefix": prompt_prefix,
|
||||
|
||||
@@ -345,6 +345,13 @@ def render_style_config(pixelle_video):
|
||||
if 'selected_template' not in st.session_state:
|
||||
st.session_state['selected_template'] = type_specific_default
|
||||
|
||||
# Track last selected template type to detect type changes
|
||||
last_template_type = st.session_state.get('last_template_type', None)
|
||||
if last_template_type != selected_template_type:
|
||||
# Template type changed, reset to type-specific default
|
||||
st.session_state['selected_template'] = type_specific_default
|
||||
st.session_state['last_template_type'] = selected_template_type
|
||||
|
||||
# Collect size groups and prepare tabs
|
||||
size_groups = []
|
||||
size_labels = []
|
||||
|
||||
Reference in New Issue
Block a user