Skip to content

Anklang Scripting

The functionality of Anklang can be extended by user provided scripts. The scripts are written in Javascript and run as part of the User Interface threads.

Scripts can extend editing functionality or implement new controllers. The exact functions provided by a script are registered at script startup time.

Reference for ui/host.js

[WorkerClip]{#WorkerClip data-4search="ui/host.js:WorkerClip;section"}

Ase::Clip proxy

[WorkerHost]{#WorkerHost data-4search="ui/host.js:WorkerHost;section"}

Global host instance for scripts.

WorkerHost class

class [WorkerHost]{#WorkerHost data-4search="ui/host.js:WorkerHost;class"} : …

[**`piano_roll_clip`**]{#piano_roll_clip data-4search="ui/host.js:piano_roll_clip;func"} `()`
:   Create handle for the currently selected clip.

[**`script_name`**]{#script_name data-4search="ui/host.js:script_name;func"} `()`
:   Retrieve the file name of the current user script.

[**`script_uuid`**]{#script_uuid data-4search="ui/host.js:script_uuid;func"} `()`
:   Retrieve the UUID set via [use_api](#use_api)().

[**`api_level`**]{#api_level data-4search="ui/host.js:api_level;func"} `()`
:   Retrieve numeric API level supported by this runtime.

[**`use_api`**]{#use_api data-4search="ui/host.js:use_api;func"}  `(`*api_level, script_uuid*`)`
:   Request use of API level `api_level` and provide UUID for controllers.

[**`register`**]{#register data-4search="ui/host.js:register;func"}  `(`*category, label, fun, blurb, params*`)`
:   Register a script function.