mirror of https://github.com/odrling/Aegisub
142 lines
3.8 KiB
Plaintext
142 lines
3.8 KiB
Plaintext
Automation 4 Basic Interface
|
|
|
|
This document described the basic functions needed to define an Automation 4
|
|
script. This covers Feature registration and the prototypes of functions used
|
|
to implement the various features.
|
|
|
|
---
|
|
|
|
Macro Registation Function
|
|
|
|
This is a function called from top-level of an Automation script to register
|
|
a new Macro Feature.
|
|
|
|
function aegisub.register_macro(
|
|
name,
|
|
description,
|
|
menu,
|
|
processing_function,
|
|
validation_function)
|
|
|
|
@name (string)
|
|
The displayed name of the menu item this macro will generate.
|
|
|
|
@description (string)
|
|
A longer description of the function of this macro. This will appear
|
|
on the status bar when hovering over the menu item.
|
|
|
|
@menu (string)
|
|
The menu this macro will appear in. Can be one of:
|
|
o "edit"
|
|
o "video"
|
|
o "audio"
|
|
o "tools"
|
|
o "right" (the subtitles grid right-click menu)
|
|
The menu chosen should be relevant to the function of the macro.
|
|
|
|
@processing_function (function)
|
|
The actual function called for the macro execution.
|
|
This function must be an instance of the Macro Processing Function
|
|
described below.
|
|
|
|
@validation_function (functioon)
|
|
Optional. A function called when it is to be determined whether the
|
|
macro can act on the current subtitles.
|
|
This function, if provided, must execute very quickly to avoid lag
|
|
in the GUI.
|
|
This function must be an instance of the Macro Validation Function
|
|
described below.
|
|
|
|
---
|
|
|
|
Filter Registration Function
|
|
|
|
This is a function called from top level of an Automation script to register
|
|
a new Export Filter Feature.
|
|
|
|
function aegisub.register_filter(
|
|
name,
|
|
description,
|
|
priority,
|
|
processing_function,
|
|
options_window_provider)
|
|
|
|
@name (string)
|
|
The name of the filter, as presented to the user.
|
|
|
|
@description (string)
|
|
A longer description of the filter presented to the user.
|
|
|
|
@priority (nhumber)
|
|
A number determining the default order the enabled filters will be
|
|
processed. The order can be overridden by the user.
|
|
Priorities of some built-in filters:
|
|
o Clean Script Info = 0
|
|
o Fix Styles = -5000
|
|
o Transform Framerate = 1000
|
|
Filters with higher priority will be executed earlier by default.
|
|
|
|
@processing_function (function)
|
|
The function called to do the actual filter processing.
|
|
This function must be an instance of the Filter Processing Function
|
|
described below.
|
|
|
|
@options_window_provider (function)
|
|
Optional. A function providing a dialog template for setting options
|
|
prior to filter processing.
|
|
This function must be an instance of the Filter Options Window Provider
|
|
function described below.
|
|
|
|
---
|
|
|
|
Format Reader Registration
|
|
|
|
This is a function called from top level in an Automation script to register
|
|
a new File Format Reader Feature.
|
|
|
|
function aegisub.register_reader(
|
|
name,
|
|
extension,
|
|
processing_function)
|
|
|
|
@name (string)
|
|
The name of the file format.
|
|
|
|
@extension (string)
|
|
The file extension usually given to this file format. This must not
|
|
include any wildcards. (Ie. extension could be "srt", "sub", "ssa" and
|
|
so on.)
|
|
|
|
@processing_function (function)
|
|
The function called to do the actual file import.
|
|
This function must be an instance of the Format Reader Function described
|
|
below.
|
|
|
|
---
|
|
|
|
Format Writer Registration
|
|
|
|
This is a function called from top level in an Automation script to register
|
|
a new File Format Writer Feature.
|
|
|
|
function aegisub.register_writer(
|
|
name,
|
|
extension,
|
|
processing_function)
|
|
|
|
@name (string)
|
|
Name of the file format, as presented to the user.
|
|
|
|
@extension (string)
|
|
The usual file extension given to this file format. This is automatically
|
|
be attached to the file name on export, unless the user chooses to
|
|
override it.
|
|
|
|
@processing_function (function)
|
|
The function doing the actual file export.
|
|
This function must be an instance of the Format Writer Function described
|
|
below.
|
|
|
|
---
|
|
|