Procedure Call

Execute (call) a procedure defined by a procedure module. See procedures.

Settings

procedure name

Name of the procedure to define or to call.

name suffix

Defines if a suffix is added automatically at the end of the name to produce names like PROCEDURE-1, PROCEDURE-2,etc.

  • no suffix
  • poly voice num: number of the voice in a polyphonic sub-patch.
  • rack num: number of the current rack.
  • patch num: number of the current patch.
  • user suffix: custom suffix defined by the user in the user suffix parameter (see below).

user suffix

Custom suffix to append to the procedure name et when name suffix is set to user suffix.

processing mode

Execution mode of the procedure.

  • immediate: the procedure is called immediately after a trigger is received on the execute once input. The procedure is executed in the thread of the patch.
  • thread: the procedure creates a separate thread with a low priority and is executed shortly after a trigger is received on the execute once but not immediately. Recommended for heavy calculation.
  • exclusive: the procedure creates a separate thread with a low priority and is executed after a trigger is received on the execute once only if the main process thread of Usine is unoccupied.

loop count

Number of times the procedure is executed. For example, to fill an array it will be the size of the array.

execute once

Executes the procedure when a trigger is received.

mode

  • manual (trigger button): executed when a execute-one trigger is received,
  • always (infinite loop): The procedure is executed indefinitely (endless loop),
  • automatic (on params changed): is executed automatically when any input parameter or loop-count has changed.

processing

Send a 1 value when the module is processing the operation (load, save, get etc).

A flow-from-1-to-0 must be used to trigger something when the operation is completed or canceled.

Useful only if processing mode=thread.

finished

Sends a 1 value when the procedure has finished its execution.

Useful only if processing mode=thread.

process time

Amount of time the procedure takes to execute in milliseconds.

refresh

Can be used to refresh the list of in/out parameters if the procedure definition has changed.

Common errors

Error: "Procedure not found" The procedure name set in the Procedure Call does not match any existing Procedure module. This happens when the name is misspelled, the Procedure module has been deleted, or the Procedure module has not been created yet. Check that both names match exactly (names are case-insensitive).

Warning: "Some parameters of the procedure have the same name" Two or more input or output parameters (faders) inside the Procedure's patch share the same name. This causes ambiguity when the Procedure Call maps values to/from those parameters. Rename the duplicate parameters inside the Procedure's patch so each has a unique name.

No effect when triggering execute once in "always" mode When mode is set to always (infinite loop), the procedure runs continuously on every processing cycle. The execute once button and trigger have no additional effect in this mode — the procedure is already executing. Switch to manual mode if you want on-demand execution only.

Procedure still running (thread/exclusive mode) In thread or exclusive processing mode, if a new execute once trigger arrives while the procedure is still running from a previous call, the new trigger is silently ignored (in manual mode) or re-queued (in always mode). The processing LED stays lit while the procedure is busy. Wait for finished before triggering again, or use immediate mode if you need synchronous execution.

"Immediate" mode blocks the audio thread In immediate processing mode, the procedure runs synchronously inside the calling patch's process cycle. If the loop count is large or the procedure is computationally expensive, this will block the audio thread and cause audio dropouts. Use thread mode for heavy computations.

Common Settings

info

show manual

Opens the web browser to display information or help about the selected object, if it exists.

For more details about information/help creation, see create-help-file.

description

Description of the module for internal help purposes only. The description is not displayed in the interface.

ID's

visible only in god mode, see setup-panel-tab-expert.

unique ID

Current private ID for this control used to identify the object.

preset ID

Current private preset ID for this control used for presets.

recreate ID

If you experience difficulties in Polyphonic mode, try to recreate new id(s) with this button.

repair ID s

Each Patch shared on the local network uses its own ID (identification number). If you experience issues of Patches that don't send information to the good target, this button will rebuild all these id's.

Object Remote Address

absolute

Absolute remote address. see objects-address.

local

Local to the current patch remote address. see objects-address.

user addr

User defined remote address. see objects-address.

See also

version 7.0.250121

Edit All Pages