Available in Dependency Control
The script Abacus
allows you to recalculate the value of tags in the line. The GUI of this script is dynamically generated such that only tags that are available in the line are shown in the GUI.
Buttons
Add
This will increase/lower value of selected tags by adding the user specified number. If the input is positive, the tag value will increase and if the input is negative, the tag value will decrease.
Multiply
This will increase/lower value of selected tags based on given percentage.
For example, if the user specifies 150, you will get 50% increase in the value of specified tag. If user specifies 50, you will get a 50% decrease in the value of the specified tags.
Reset GUI
The checkboxes you ticked as well as the values you typed last time are remembered and already populate the GUI when you open the script. If you wish to unset all of them at once to get a clean GUI, you click this button. This will close the current GUI and load a clean new GUI.
Input
There are a few types of input a user can provide.
Time
Whenever you're dealing with time like line's start time or end time or karaoke tags, the input provided is in time. You can input time in various ways that makes sense. For example, it makes most sense to input time in centiseconds when dealing with karaoke tags.
Format | Example | Remarks |
---|---|---|
h:mm:ss.ms | 0:01:20.03 | |
n | 30 | Time in miliseconds |
nms | 30ms | Time in miliseconds |
ncs | 30cs | Time in centiseconds |
ns | 30s | Time in seconds |
nm | 30m | Time in minutes |
nh | 3h | Time in hours |
nf | 3f | Time in frames (Requires video to be open) |
Color
For all color related tags, you input r, g and b value separated by comma that will be added/multiplied to current tag. The resulting values are clamped between 0 and 255.
Format | Example |
---|---|
r, g, b | 20,30,40 |
Number
If the input is neither time or color, it will just be a number.
Lua Math Expression
While its utility is debatable, this script can accept any valid lua math expressions as input.
Examples.
Lua cannot do float random by default so there is an additional function accpeted: math.randomfloat(min, max)
.
Input Boxes
There are two input boxes. Let's call them x-input box and y-input box for now as shown in image below.
Most of the tags have only one parameter and will use x-input box. There are tags that use both input boxes. Most of them have to do with time or coordinates. The following table shows tags that use both boxes and all other tags use only x-input box.
Tag | x-input box | y-input box |
---|---|---|
time | start time of line | end time of line |
pos | start time | end time |
pos/org/move/clip | x coordinate | y coordinate |
move | x coordinate | y coordinate |
move(t1,t2) | start time of move tag | end time of move tag |
org | x coordinate | y coordinate |
fad | start time of fade tag | end time of fad tag |
clip (Rectangle) | all x coordinate of clip | all y coordinate of clip |
clip_rect (x1,y1) | x1 coordinate of clip | y1 coordinate of clip |
clip_rect (x2,y2) | x2 coordinate of clip | y2 coordinate of clip |
iclip (Rectangle) | all x coordinate of iclip | all y coordinate of iclip |
iclip_rect (x1,y1) | x1 coordinate of iclip | y1 coordinate of iclip |
iclip_rect (x2,y2) | x2 coordinate of iclip | y2 coordinate of iclip |
clip (Vector) | all x coordinate of clip | all y coordinate of clip |
iclip (Vector) | all x coordinate of iclip | all y coordinate of iclip |
shape | all x coordinate of a shape | all y coordinate of a shape |
transform (t1,t2) | start time of a transform | end time of a transform |
Increase with each line
This option will be shown to you if you have selected multiple lines. If this is ticked, your input value will increase by the input amount for each iteration of selected lines. For example, if your input is 1, the first line will have input of 1, second will have input of 2, third line will have input of 3 and so on.
This works for all kinds of inputs mentioned above.