OM# Documentation

Meta-visual programming

We call “meta-programming” the fact for a program to consider other programs (or itself!) as data. In a visual program, this would be a patch, or a box processing its own contents (or another patches’ contents). This is notably useful when creating advanced processes with the OM maquette (or sequencer in OM#): boxes can for instance position themselves (in time) according to some internal or external parameters.

“Meta” input boxes

The “Meta” package provides two main functions, and a number of utilities to access from a given patch, the patch itself, or the box containing and executing this patch.

See this example using thisbox with the SLOTS tool.

Sequencer

The “Sequencer” package provides additional meta-visual programming tools applying specifically to the sequencer context.

See: Sequencer (Programming)