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.
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.
thispatch
thisbox
See this example using
thisbox
with theSLOTS
tool.
The “Sequencer” package provides additional meta-visual programming tools applying specifically to the sequencer context.
thissequencer
is an extension of thispatch
providing access to the container sequencer of a patch or sub-patch (including the sequencer’s “control patch”).