From b406184855a4e3955f0d89fdb59282b9ef9fa09d Mon Sep 17 00:00:00 2001 From: hithereai <121192995+hithereai@users.noreply.github.com> Date: Tue, 11 Apr 2023 02:17:48 +0300 Subject: [PATCH] fix formatting of output vals in .srt file --- scripts/deforum_helpers/subtitle_handler.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/deforum_helpers/subtitle_handler.py b/scripts/deforum_helpers/subtitle_handler.py index d72af995..470dccb5 100644 --- a/scripts/deforum_helpers/subtitle_handler.py +++ b/scripts/deforum_helpers/subtitle_handler.py @@ -73,16 +73,22 @@ def write_frame_subtitle(filename, frame_number, frame_duration, text): def format_animation_params(keys, frame_idx): params_to_print = opts.data.get("deforum_save_gen_info_as_srt_params", ['Seed']) - params_string = "" for key, value in param_dict.items(): if value['user'] in params_to_print: backend_key = value['backend'] print_key = value['print'] - params_string += f"{print_key}: {keys.__dict__[backend_key][frame_idx]}; " + param_value = keys.__dict__[backend_key][frame_idx] + if isinstance(param_value, float) and param_value == int(param_value): + formatted_value = str(int(param_value)) + elif isinstance(param_value, float) and not param_value.is_integer(): + formatted_value = f"{param_value:.3f}" + else: + formatted_value = f"{param_value}" + params_string += f"{print_key}: {formatted_value}; " params_string = params_string.rstrip("; ") # Remove trailing semicolon and whitespace return params_string - + def get_user_values(): return [v["user"] for v in param_dict.values()] \ No newline at end of file