Alga:
Filter:
AlgaLib/Classes (extension) | Alga

Alga
ExtensionExtension

live coding environment focused on the interpolation between sonic nodes

Description

NOTE: For Alga to work correctly, it is required to install the AlgaUGens plugin extensions. To do so, download the AlgaUGens zip file from https://github.com/vitreo12/AlgaUGens/releases/tag/v1.2.0 and extract it to your Platform.userExtensionDir

Alga is a new live coding environment whose focus is on describing dynamic connections between nodes. By linking AlgaNodes together, it is possible to create a fluid, complex network of sonic interactions. What makes Alga different from other environments is its interpolation capabilities. In fact, the nature of the connections between AlgaNodes arises from continuous processes of interpolation between the current states of the system and future ones, over specified windows of time. AlgaNode's sister class, AlgaPattern, represents the polyphonic counterpart to this paradigm.

Check out the AlgaNode and AlgaPattern help files for examples on usage.

Class Methods

.boot

Boot Alga on a specified Server. If not specified, Server.default will be used.

Arguments:

onBoot

Execute a Function on boot.

server

The Server to boot Alga on.

algaServerOptions

An instance of AlgaServerOptions to boot the server with. If not specified, a default one will be created.

clock

The Clock for the internal AlgaScheduler. If not specified, a default TempoClock will be created.

.forceBoot

Same as boot, quitting all booted servers first.

.fBoot

Alias for forceBoot.

.quit

Quit Alga.

Arguments:

onQuit

Execute a Function on quit.

server

The Server to quit Alga from.

.startup

Add a startup file to be executed while Alga is booting.

.maxIO

Change the maximum number of IO connections between AlgaNodes. This requires the initSynthDefs method to re-compile all the necessary AlgaSynthDefs. The default value is 8.

Arguments:

value

The new value. Must be an Integer.

.maxEnvPoints

Change the maximum number of points allowed for an Env used as interpShape of a module.

Arguments:

value

The new value. Must be an Integer.

.disableNodeOrdering

Disable the automatic node ordering. This is an expensive operation for sclang the more complex a network becomes.

.initSynthDefs

Force the recompilation of all AlgaSynthDefs necessary for Alga's runtime. This needs to be executed only once anytime the value of maxIO changes. Before boot, Alga already checks that everything is correct.

.synthDescLib

Return Alga's SynthDescLib.

.readAllDefs

Read all the AlgaSynthDefs in the path recursively. These must have been stored with the write, writeDefFile, load or store methods.

.readAlgaSynthDefs

Alias for readAllDefs.

.readDef

Read a single AlgaSynthDef or all the AlgaSynthDefs in the path non-recursively. These must have been stored with the write, writeDefFile, load or store methods.

.readAlgaSynthDef

Alias for readDef.

.addInterpShape

Add an Env to the specific Server where Alga has been booted on. These are represented as Buffers on the server, and this operation speeds up any usage of a speficic envelope shape, as it would have already been sent to the server.

.removeInterpShape

Remove the specific Env from the server where Alga has been booted on. This would free the accompanying Buffer.

.interpShapes

Get the list of Envs on the specific Server where Alga has been booted on.

.interpolateTempo

Interpolate the tempo of the Clock that Alga is using over to a new value. This will affect all the nodes on the Alga instance.

Arguments:

tempo

The new tempo

time

The time in seconds that the interpolation process will take

shape

An optional Env to determine the shape of the interpolation.

delta

Specify the resolution of the tempo change: how often should the tempo value be updated?

schedInSeconds

Specify if the sched argument should be considered in seconds instead of beats / bars.

sched

When the interpolation should be triggered

server

The server used for the specific Alga instance.

Discussion:

.interpTempo

Alias for interpolateTempo