From 04a61982e82a5df1cb2ec77a5d9752782a7c41e0 Mon Sep 17 00:00:00 2001 From: garret Date: Thu, 30 Sep 2021 00:23:28 +0100 Subject: macro folder the beginning of becoming like every other cartel-aproved script repo in existence --- macros/scenebleed.lua | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 macros/scenebleed.lua (limited to 'macros/scenebleed.lua') diff --git a/macros/scenebleed.lua b/macros/scenebleed.lua new file mode 100644 index 0000000..c0d3908 --- /dev/null +++ b/macros/scenebleed.lua @@ -0,0 +1,35 @@ +script_name="Scenebleed Detector" +script_description="marks possible scenebleeds with an effect" +script_author="garret" +script_version="2021-07-14" + +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() + local bleed_count = 0 + 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 + bleed_count = bleed_count + 1 + sub[i] = line + end + end + end + aegisub.log(bleed_count.." scenebleeds found.") + aegisub.set_undo_point(script_name) + return sel +end + +aegisub.register_macro(script_name, script_description, main) -- cgit v1.2.3-70-g09d2