-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathkaraoke_cleaner.lua
70 lines (64 loc) · 1.64 KB
/
karaoke_cleaner.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
--[[
- Şablonlarca oluşturulan karaoke satırlarını siler.
- Şablon kodlarının olduğu satırların sürelerini sıfırlar.
- Şablonun uygulandığı satırları görünür yapar.
- Şablon uygulandığında oluşan furigana stilleri siler.
NOT: Yorum satırı yapılmış satırlarda effect kutucuğuna
template ve code kelimelerini girmekten kaçının.
]]--
script_name="Karaoke Cleaner"
script_description="Şablon efeklerinin oluşturduğu girdileri temizler."
script_author="Magnum357"
script_version="1.1"
function karaoke_cleaner(subs)
local pcs = false
for i=#subs,1,-1 do
local line = subs[i]
if line.class == "style" then
if line.name:match("-furigana") then
subs.delete(i)
pcs = true
end
end
if line.class == "dialogue" then
if line.effect == "fx" then
subs.delete(i)
pcs = true
end
if line.effect == "karaoke" and line.comment == true then
line.comment = false
line.effect = ""
pcs = true
subs[i]=line
end
if line.comment == true then
if line.effect:match("template") or line.effect:match("code") then
if line.start_time > 0 or line.end_time > 0 then
pcs = true
line.start_time = 0
line.end_time = 0
subs[i]=line
end
end
end
end
end
if pcs == false then
aegisub.log("Düzeltilecek bir şey bulunamadı.")
else
prog("Karaoke temizleniyor...")
end
end
function delay()
local st = ""
for i = 0, 50000 do
st = st .. i
end
return st
end
function prog(str)
aegisub.progress.task(string.format("%s",str))
aegisub.progress.set(100)
delay()
end
aegisub.register_macro(script_name, script_description, karaoke_cleaner)