aboutsummaryrefslogtreecommitdiffstats
path: root/blur-fade.lua
diff options
context:
space:
mode:
Diffstat (limited to 'blur-fade.lua')
-rw-r--r--blur-fade.lua44
1 files changed, 44 insertions, 0 deletions
diff --git a/blur-fade.lua b/blur-fade.lua
new file mode 100644
index 0000000..9f60077
--- /dev/null
+++ b/blur-fade.lua
@@ -0,0 +1,44 @@
+script_name="Blur Fade"
+script_description="Makes fade with blur."
+script_author="garret"
+script_version="2021-04-05"
+include("utils.lua")
+
+-- TODO: add proper fade as well
+
+function l(i)
+ aegisub.log(i)
+ aegisub.log("\n")
+end -- for debugging
+
+function make_lines(sub, sel, i, fill, bord, shad)
+ local line=sub[sel[i]]
+ line.effect = ""
+ local text = line.text
+ local fill_layer = util.copy(line) -- copy
+ local bord_layer = util.copy(line) -- the
+ local shad_layer = util.copy(line) -- line
+ fill_layer.layer=2 -- set
+ bord_layer.layer=1 -- correct
+ shad_layer.layer=0 -- layers
+ fill_layer.text = fill..fill_layer.text.." {fill}" -- add
+ bord_layer.text = bord..bord_layer.text.." {bord}" -- the
+ shad_layer.text = shad..shad_layer.text.." {shad}" -- tags
+ sub[sel[i]] = fill_layer -- put
+ sub.insert(sel[i]+1,bord_layer) -- in
+ sub.insert(sel[i]+2,shad_layer) -- script
+end
+
+function main(sub, sel) -- TODO: make code less shit
+ for i=#sel,1,-1 do
+ local line=sub[sel[i]]
+ if line.effect == "blurin" then
+ -- make_lines(sub, sel, i, "in fill ", "in bord ", "in shad ")
+ make_lines(sub, sel, i, "{\\blur100\\bord0\\shad0\\t(\\blur0)}", "{\\blur100\\t(\\blur0)\\1a&FF&\\3a&FF&\\shad0.01}", "{\\blur100\\shad1.5\\1aFF\\bord0\\t(\\blur0)}")
+ elseif line.effect == "blurout" then
+ -- make_lines(sub, sel, i, "out fill ", "out bord ", "out shad ")
+ make_lines(sub, sel, i, "{\\bord0\\shad0\\t(\\blur100)}", "{\\t(\\blur100)\\1a&FF&\\3a&FF&\\shad0.01}", "{\\shad1.5\\1aFF\\bord0\\t(\\blur100)}")
+ end
+ end
+end
+aegisub.register_macro(script_name, script_description, main)