33 lines
1009 B

-- Automation 4 test file
-- Create a Macro feature, that displays some text
script_name = "Automation 4 set-selection test"
script_description = "Test setting the grid selection"
script_author = "Niels Martin Hansen"
script_version = "1"
function selecttest(subtitles, selected_lines, active_line)
-- get line-id of first selected line
local lid = selected_lines[1]
-- insert a copy of line 'lid' before itself
subtitles[-lid] = subtitles[lid]
-- append a copy of the copy of the copied line
subtitles[0] = subtitles[lid]
-- grab the copied line
local l = subtitles[lid]
-- modify it
l.text = "A4 was here!"
-- and store it back
subtitles[lid] = l
-- select some new lines
selected_lines = { lid-1, lid, lid+1 }
-- and set undo point (never forget!)
aegisub.set_undo_point("Insert+select Stuff")
-- return the new selection
return selected_lines
aegisub.register_macro("Insert+select stuff", "Inserts some lines near the active line and selects the new lines", selecttest, nil)