aboutsummaryrefslogtreecommitdiffstats
path: root/macros/audio-clipper.lua
diff options
context:
space:
mode:
authorgarret <garret@airmail.cc>2021-10-09 15:20:50 +0100
committergarret <garret@airmail.cc>2021-10-09 15:20:50 +0100
commit472fc5337dc41abc9545256720f3265f466f9b16 (patch)
treed38b119d08cef1517ba70b1f56ca48aff201c959 /macros/audio-clipper.lua
parent52f3a086f2ad7a3bbc9b8f8225a99e9e99120613 (diff)
downloadaegisub-scripts-472fc5337dc41abc9545256720f3265f466f9b16.tar.gz
aegisub-scripts-472fc5337dc41abc9545256720f3265f466f9b16.tar.bz2
aegisub-scripts-472fc5337dc41abc9545256720f3265f466f9b16.zip
add depctrl thing
no feed yet, will get round to it eventuallyâ„¢
Diffstat (limited to 'macros/audio-clipper.lua')
-rw-r--r--macros/audio-clipper.lua36
1 files changed, 17 insertions, 19 deletions
diff --git a/macros/audio-clipper.lua b/macros/audio-clipper.lua
index 99f2b9f..8576688 100644
--- a/macros/audio-clipper.lua
+++ b/macros/audio-clipper.lua
@@ -1,18 +1,16 @@
script_name = "Audio Clipper"
script_description = "Extracts audio from the selected line(s).\nNeeds ffmpeg."
script_author = "garret"
-script_version = "1.1.2"
-
-aegi = aegisub
+script_version = "1.1.3"
function err(msg)
- aegi.dialog.display({{class = "label", label = msg}}, {"OK"}, {close = "OK"})
- aegi.cancel()
+ aegisub.dialog.display({{class = "label", label = msg}}, {"OK"}, {close = "OK"})
+ aegisub.cancel()
end
function get_vid_dir()
- local aud_dir = aegi.decode_path("?audio")
- local vid_dir = aegi.decode_path("?video")
+ local aud_dir = aegisub.decode_path("?audio")
+ local vid_dir = aegisub.decode_path("?video")
if aud_dir ~= "?audio" then
return aud_dir
elseif vid_dir ~= "?video" then -- if there is not, in fact, a video
@@ -23,8 +21,8 @@ function get_vid_dir()
end
function get_vid()
- local aud = aegi.project_properties().audio_file -- try get the audio first, if it's loaded separately
- local vid = aegi.project_properties().video_file
+ local aud = aegisub.project_properties().audio_file -- try get the audio first, if it's loaded separately
+ local vid = aegisub.project_properties().video_file
if aud ~= "" then
return aud
elseif vid ~= "" then
@@ -71,22 +69,22 @@ function extract_audio(in_path, start_time, end_time, out_path, name, extension,
end
function loop(subs, sel, in_path, out_path, extension, copy, delay)
- aegi.progress.title("Extracting Audio")
+ aegisub.progress.title("Extracting Audio")
local progress = 0
local progress_increment = 100 / #sel -- increment by this for every line, and the bar will eventually reach 100
for x, i in ipairs(sel) do -- x is the position of the line in our selection, i is the position in the whole sub file
- if aegi.progress.is_cancelled() then -- if you press the cancel button
- aegi.cancel() -- it stops (mind-blowing, i know)
+ if aegisub.progress.is_cancelled() then -- if you press the cancel button
+ aegisub.cancel() -- it stops (mind-blowing, i know)
end
- aegi.progress.set(progress)
+ aegisub.progress.set(progress)
local line = subs[i]
local start_time = line.start_time + delay
local end_time = line.end_time + delay
- aegi.progress.task("Extracting line "..x)
+ aegisub.progress.task("Extracting line "..x)
extract_audio(in_path, start_time, end_time, out_path, x, extension, copy)
progress = progress + progress_increment
end
- aegi.progress.set(100) -- in case it didn't reach 100 on its own
+ aegisub.progress.set(100) -- in case it didn't reach 100 on its own
end
@@ -101,10 +99,10 @@ function gui(subs, sel)
end
local get_input={{class="label",x=0,y=0,label="Input's audio format:"},{class="dropdown",name="format",x=0,y=1,width=2,height=1,items={"AAC","Opus","FLAC","Custom"},value="Audio Format",hint="If you don't know, you should probably press \"Just make it FLAC\", or use mka."},{class="label",x=0,y=2,label="Custom Extension:"},{class="edit",name="custom",x=1,y=2,value="mka",hint="You'll probably be fine with mka, because matroska can contain pretty much anything"},{class="label",x=0,y=3,label="Delay (ms):"},{class="intedit",name="delay",x=1,y=3,value=0,hint="to prevent timing fuckery with weird raws"},{class="label",x=0,y=4,label="Input path:"},{class="edit",name="in_path",x=0,y=5,width=2,height=1,value=in_path,hint="where the audio comes from"},{class="label",x=0,y=6,label="Output path (will be created if it doesn't already exist):"},{class="edit",name="out_path",x=0,y=7,width=2,height=1,value=out_path,hint="where the audio goes"}}
- local pressed, results = aegi.dialog.display(get_input, {"Cancel", "OK", "Just make it FLAC"})
+ local pressed, results = aegisub.dialog.display(get_input, {"Cancel", "OK", "Just make it FLAC"})
-- there's probably something that can detect the format automatically, but I do not know what it is.
if pressed == "Cancel" then
- aegi.cancel()
+ aegisub.cancel()
elseif pressed == "OK" then
do_copy = true
elseif pressed == "Just make it FLAC" then
@@ -127,5 +125,5 @@ function non_gui(subs, sel) -- no gui, so you can bind it to a hotkey
-- sets sane defaults (takes the audio from the video file, and outputs to /the/video/dir/audioclipper_output/. transcodes to flac. no delay)
end
-aegi.register_macro(script_name, script_description, gui)
-aegi.register_macro(": Non-GUI macros :/"..script_name..": Just make it FLAC", script_description, non_gui) -- same section as unanimated's scripts
+aegisub.register_macro(script_name, script_description, gui)
+aegisub.register_macro(": Non-GUI macros :/"..script_name..": Just make it FLAC", script_description, non_gui) -- same section as unanimated's scripts