From f8d82e44b9fc0b8153a6b381fc57514292aa86ef Mon Sep 17 00:00:00 2001 From: garret Date: Tue, 6 Jul 2021 20:45:18 +0100 Subject: add scenebleed detector --- scenebleed.lua | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 scenebleed.lua (limited to 'scenebleed.lua') diff --git a/scenebleed.lua b/scenebleed.lua new file mode 100644 index 0000000..2a73c2f --- /dev/null +++ b/scenebleed.lua @@ -0,0 +1,32 @@ +script_name="Scenebleed Detector" +script_description="marks possible scenebleeds with an effect" +script_author="garret" +script_version="2021-07-06" + +function main(sub, sel) + local thresh = aegisub.frame_from_ms(500) + local bleedstring = "bleed" + -- tried to make config file work, failed, so shit's hardcoded + + local keyframes = aegisub.keyframes() + for j,i in ipairs(sel) do + line = sub[i] + local start_frame = aegisub.frame_from_ms(line.start_time) + local end_frame = aegisub.frame_from_ms(line.end_time) + for index, frame in ipairs(keyframes) do + if end_frame > frame and end_frame < frame + thresh or start_frame < frame and start_frame >= frame - thresh then + -- off the kf, but not by more than the threshold + if line.effect == "" then + line.effect = bleedstring + else + line.effect = line.effect.."; "..bleedstring + end + sub[i] = mark(line) + end + end + end + aegisub.set_undo_point(script_name) + return sel +end + +aegisub.register_macro(script_name, script_description, main) -- cgit v1.2.3-70-g09d2