Procedure Suspend

Pause the execution of a procedure and resume it later. When suspended, the procedure's patch restarts its processing loop from the beginning on each cycle without advancing — effectively freezing execution in place until an end suspend trigger is received.

Procedure Suspend

Example of a procedure using the suspend mechanism to wait for an external event before proceeding with its execution.

This module must be placed inside a procedure patch.

Settings

start suspend

Trigger input. When received, the procedure enters suspended state: the patch processing loop restarts from the top on every cycle without advancing past the suspend point. This allows the procedure to wait for an external event before continuing.

end suspend

Trigger input. When received, the procedure exits the suspended state and resumes normal execution.

finished

Outputs a trigger (1) at the moment the suspension ends — i.e., when end suspend is received while the procedure was actually suspended. Does not trigger if end suspend is received when the procedure was not suspended.

trace state

When enabled, logs the current suspend state to the trace panel on every processing cycle. Useful for debugging, but should be disabled in production as it generates a large amount of trace output.

trace name

A custom label prepended to trace messages (e.g., myProc suspended = true). Helps identify which suspend module is logging when multiple procedures are used.

Common errors

Error: "the procedure-suspend module must be in a procedure" The Procedure Suspend module can only work inside a procedure patch. If placed in a regular patch, it has no effect and displays this error at creation. Move the module into a procedure's patch.

Warning: "the procedure-suspend module should be executed in thread mode"
The suspend mechanism only makes sense when the parent procedure-call is set to thread processing mode. In immediate mode, suspending will block the calling thread (typically the audio or main thread), causing audio glitches or UI freezes. Always set the procedure-call's processing mode to thread when using suspend.

No effect when start/end suspend are triggered on the same cycle
If both start suspend and end suspend receive a trigger simultaneously (same processing block), the procedure will be suspended and immediately un-suspended in the same cycle. The finished output will fire, but the suspension will have had no practical effect. Make sure the triggers are separated in time.

Forgetting to send end suspend
If start suspend is triggered but end suspend is never sent, the procedure remains suspended indefinitely — its patch loops forever without advancing. This can be mistaken for a crash or a hang. Always ensure there is a reliable path to trigger end suspend.

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