aboutsummaryrefslogtreecommitdiffstats
path: root/macros/pos2an.lua
diff options
context:
space:
mode:
Diffstat (limited to 'macros/pos2an.lua')
-rw-r--r--macros/pos2an.lua69
1 files changed, 0 insertions, 69 deletions
diff --git a/macros/pos2an.lua b/macros/pos2an.lua
deleted file mode 100644
index 7b67b00..0000000
--- a/macros/pos2an.lua
+++ /dev/null
@@ -1,69 +0,0 @@
-script_name = "pos -> an"
-script_description = "double click the video then snap to an \\an"
-script_author = "garret"
-script_version = "1"
-
-
-local function escape_pattern(txt)
- local magic_chars = "%^%$%(%)%%.%[%]%*%+%-%?"
- return txt:gsub("(["..magic_chars.."])", "%%%1")
-end
-
-local function main(sub, sel)
- local vidx, vidy = aegisub.video_size()
- local left = vidx * 0.25
- local right = vidx - (vidx * 0.25)
- local top = vidy * 0.32
- local bottom = vidy - (vidx * 0.35)
- -- todo: have these customisable in a gui in v2
-
- if not vidx then
- aegisub.log("open a video")
- aegisub.cancel()
- -- todo: might be nice to use script res for this
- -- but realistically if youre using this, youve got a video open
- end
- for _, i in ipairs(sel) do
- local line = sub[i]
- local x
- local y
- local tag
- local c = 0
- line.text = string.gsub(line.text, "\\an%d", "")
- line.text = string.gsub(line.text, "{}", "")
- for postag, posx, posy in string.gmatch(line.text, "{[^}]*(\\pos%(([^,]+), *([^)]+)%))[^}]*}") do
- if c == 0 then
- x = tonumber(posx)
- y = tonumber(posy)
- tag = escape_pattern(postag)
- end
- c = c + 1
- end
- if c == 0 then goto continue end
- -- aegi is luajit
-
- local s
-
- if y <= top then
- s = "t" elseif
- y >= bottom then s = "b"
- else s = "c" end
-
- if x <= left then
- s = s.."l" elseif
- x >= right then s = s.."r"
- else s = s.."c" end
-
- local AN_MAP = {
- tl = 7, tc = 8, tr = 9,
- cl = 4, cc = 5, cr = 6,
- bl = 1, bc = 2, br = 3,
- }
-
- line.text = string.gsub(line.text, tag, "\\an"..AN_MAP[s])
- sub[i] = line
- ::continue::
- end
-end
-
-aegisub.register_macro(script_name, script_description, main)