aboutsummaryrefslogtreecommitdiffstats
path: root/macros/garret.karaoke2alpha.lua
diff options
context:
space:
mode:
Diffstat (limited to 'macros/garret.karaoke2alpha.lua')
-rw-r--r--macros/garret.karaoke2alpha.lua70
1 files changed, 0 insertions, 70 deletions
diff --git a/macros/garret.karaoke2alpha.lua b/macros/garret.karaoke2alpha.lua
deleted file mode 100644
index 51ff0c5..0000000
--- a/macros/garret.karaoke2alpha.lua
+++ /dev/null
@@ -1,70 +0,0 @@
-script_name = "K-Timing -> Alpha Timing"
-script_description = "makes doing alpha timing significantly easier by getting rid of the part where you do alpha timing."
-script_author = "garret"
-script_version = "1.1.0"
-script_namespace = "garret.karaoke2alpha"
-
-local haveDepCtrl, DependencyControl, depctrl = pcall(require, "l0.DependencyControl")
-local util
-if haveDepCtrl then
- depctrl = DependencyControl {
- --feed="TODO",
- {"aegisub.util"}
- }
- util = depctrl:requireModules()
-else
- util = require 'aegisub.util'
-end
-
-function get_visible(parsed_line, index)
- local res = ""
- for i=1,index do -- for every syl up to the current one
- res = res..parsed_line[i].text -- add to the result
- end
- return res
-end
-
-function get_invisible(parsed_line, index)
- local res = ""
- for i=index+1,#parsed_line do -- for every syl from the next one to the end
- res = res..parsed_line[i].text -- add to result
- end
- return res
-end
-
-function main(sub, sel)
- for x=#sel,1,-1 do
- local line=sub[sel[x]]
- local parsed = aegisub.parse_karaoke_data(line) -- magic function that gets all the stuff about the karaoke
- for i=1,#parsed do -- for every syl in the karaoke
- visible = get_visible(parsed, i)
- invisible = get_invisible(parsed, i)
- if invisible ~= "" then -- if there's still invisible stuff left
- text = visible.."{\\alpha&HFF&}"..invisible -- add an alpha tag and slap the invisible stuff on the end
- else -- if it's all visible
- text = visible -- don't need the alpha any more
- end
- local syl = parsed[i]
- local new = util.copy(line)
- new.text = text -- make a new line for this syl
- -- set line start time
- new.start_time = syl.start_time + line.start_time -- just the syl on its own returns the offset from the line
- -- set line end time
- if i ~= #parsed then -- if there's still invisible stuff left
- new.end_time = syl.end_time + line.start_time -- end time is the syl's
- else
- new.end_time = line.end_time -- end time is the whole line's (i don't think this actually makes a difference but may as well)
- end
- sub.insert(sel[x] + i,new) -- add new lines (+1 line for first syl, +2 for 2nd syl, etc)
- end
- line.comment = true -- don't want to see the karaoke any more
- sub[sel[x]]=line
- end
- aegisub.set_undo_point(script_name)
-end
-
-if haveDepCtrl then
- depctrl:registerMacro(main)
-else
- aegisub.register_macro(script_name, script_description, main)
-end