add song timer

This commit is contained in:
garret 2023-06-22 19:42:30 +01:00
parent 409c0905e2
commit c9d015db84
2 changed files with 58 additions and 0 deletions

View File

@ -38,6 +38,26 @@ Does an alright enough job most of the time, but is ignorant of whitespace.
Not that it really matters, you'll be retiming it anyway.
## Song timer
makes song timing into a rhythm game
so you can vibe while you time
bind to e.g. space
0. tap to initialise (`READY`)
1. tap to set start (`START`)
1. tap to set end (`END`) + move to next line (`READY`)
1. go to 1.
apparently that's what some vhs era groups did for their entire dialogue timing
probably won't work too well for that, but for songs (where they're reasonably on-beat) it's pretty good (for a rough pass), especially if you know the song well.
won't be faster, but will be much more enjoyable
doesn't have depctrl - needs to be fast
## K-Timing -> Alpha Timing
Makes doing alpha timing significantly easier by getting rid of the part where you do alpha timing.

38
macros/songtimer.lua Normal file
View File

@ -0,0 +1,38 @@
script_name = "song timer"
script_description = "time songs while vibin"
script_author = "garret"
script_version = "1"
local function main(sub, sel, act)
local READY = "READY"
local START = "START"
local END = "END"
local pos = aegisub.project_properties()['video_position']
local ms = aegisub.ms_from_frame(pos)
local newline = sub[act]
newline.effect = READY
newline.text = ""
local nextline = newline
local line = sub[act]
local endline = #sub
if line.effect == READY then
line.start_time = ms
line.effect = START
sub[act] = line
elseif line.effect == START then
line.end_time = ms
line.effect = END
sub[act] = line
sub.append(nextline)
return {endline+1},endline+1
else
sub.append(nextline)
return {endline+1},endline+1
end
end
aegisub.register_macro(script_name, script_description, main)