Skip to content

Commit 1727b2f

Browse files
committed
Cascade Transforms: initial commit
1 parent 2c93d9e commit 1727b2f

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

l0.CascadeTransforms.moon

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
export script_name = "Cascade Transforms"
2+
export script_description = "Changes transforms in a line to be transformed in a consecutive fashion, with the transform time being split evenly."
3+
export script_version = "0.0.1"
4+
export script_author = "line0"
5+
export script_namespace = "l0.CascadeTransforms"
6+
7+
DependencyControl = require "l0.DependencyControl"
8+
9+
rec = DependencyControl{
10+
feed: "https://raw.githubusercontent.com/TypesettingCartel/line0-Aegisub-Scripts/master/DependencyControl.json",
11+
{
12+
{"a-mo.LineCollection", version: "1.0.1", url: "https://github.com/torque/Aegisub-Motion"},
13+
{"l0.ASSFoundation", version: "0.2.2", url: "https://github.com/TypesettingCartel/ASSFoundation",
14+
feed: "https://raw.githubusercontent.com/TypesettingCartel/ASSFoundation/master/DependencyControl.json"}
15+
}
16+
}
17+
18+
LineCollection, ASS = rec\requireModules!
19+
20+
cascadeTransforms = (sub, sel) ->
21+
lines = LineCollection sub, sel
22+
lines\runCallback (lines, line, i) ->
23+
data = ASS\parse line
24+
transforms = data\getTags "transform"
25+
return if #transforms == 0
26+
interval = line.duration / #transforms
27+
start = 0
28+
for t in *transforms
29+
t.startTime\set start
30+
start += interval
31+
t.endTime\set start
32+
data\commit!
33+
34+
lines\replaceLines!
35+
36+
rec\registerMacro cascadeTransforms

0 commit comments

Comments
 (0)