Files
Basalt2/docs/references/elements/Program.md
2025-09-14 10:11:36 +00:00

2.0 KiB

Program

This is the program class. It provides a program that runs in a window.

Extends: VisualElement

Properties

Property Type Default Description
program table nil The program instance
path string "" The path to the program
running boolean false Whether the program is running
errorCallback function nil The error callback function
doneCallback function nil The done callback function

Functions

Method Returns Description
Program:execute Program Executes a program
Program:stop Program Stops the program
Program:sendEvent Program Sends an event to the program
Program:onError Program Registers a callback for the program's error event
Program:onDone Program Registers a callback for the program's done event

Program:execute(path, env?, addEnvironment?)

Executes a program

Parameters

  • path string The path to the program
  • env (optional) table The environment to run the program in
  • addEnvironment (optional) boolean Whether to add the environment to the program's environment (false = overwrite instead of adding)

Returns

  • Program self The Program instance

Program:stop()

Stops the program

Returns

  • Program self The Program instance

Program:sendEvent(event, any)

Sends an event to the program

Parameters

  • event string The event to send
  • any The event arguments

Returns

  • Program self The Program instance

Program:onError(fn)

Registers a callback for the program's error event, if the function returns false, the program won't stop

Parameters

  • fn function The callback function to register

Returns

  • Program self The Program instance

Program:onDone(fn)

Registers a callback for the program's done event

Parameters

  • fn function The callback function to register

Returns

  • Program self The Program instance