An interactive 2-D routing grid that assigns each device (a sub-output of a physical port) to one or more speakers. Speakers are organised as Group → Array → Speaker, read from a Usine chunk, and the whole patch state is mirrored to a flat float-array output that downstream modules can read or write.
Patching Matrix draws a grid where the rows are the ports and their devices, and the columns are the speakers. Each lit cell is an active connection between one device and one speaker.
The authoritative state lives in the patchable slots array (one 0.0/1.0 per device × speaker). It is bidirectional: clicking in the grid writes it, and an external module writing to it is reflected back into the grid on the next frame.
When row exclusive is ON a device row may hold at most one connection; when col exclusive is ON a speaker column may hold at most one. Exclusivity is enforced only when a cell is being turned ON — turning cells off never disturbs the rest of the grid. Both modes apply uniformly to single clicks and to the bulk / diagonal fills.
The column hierarchy is reconstructed from a chunk whose name is given by chunk name, with group count groups. For each group NNN (3-digit, 1-based) the module reads these chunk items:
group-name-NNN — the group label,nb-arrays-NNN — number of arrays in the group,nb-speakers-NNN — number of speakers per array,array-name-NNN — CSV of array names (consumed across the group),speaker-name-NNN — CSV of speaker names (re-read from the start for each array of the group).Note — the chunk is only read when chunk name / group count change, when a structural input changes, or when refresh is pressed. Missing items fall back to default labels (
GROUP n,ARRAY n,SPK). If the chunk is empty or absent the grid shows a flat set of placeholder columns.
All visual styling — the canvas background, cell sizes, colours, fonts, rounding, header sizes, vertical-text headers and the scrollbars — lives in the module's DESIGN tab and is applied live as you edit it.
Name of the Usine chunk that holds the speaker topology. Changing it rebuilds the column hierarchy.
Number of groups to read from the chunk, range 0 – 999. 0 (or an empty chunk name) disables the chunk and falls back to placeholder columns.
Number of physical ports — the top-level rows — range 0 – 64 (default 2).
CSV of integer device counts, one per port (default 6,6). The list is padded with 0 to match num ports; the running total is the number of device rows.
Optional CSV of human-readable port labels. Empty entries fall back to Pnn.
Optional CSV of human-readable device labels, one per global device index. Empty entries fall back to Dnn.
When ON (default), turning a cell on clears every other on-cell in the same device row.
When ON (default), turning a cell on clears every other on-cell in the same speaker column.
Momentary button. Clears the entire patch matrix (every slot set to 0).
Momentary button. Forces a full rebuild of the device layout and the chunk-driven schema on demand.
Momentary button. Collapses all groups and arrays and expands all ports, restoring the default view.
Cell-size zoom factor, range 0.25 – 4.0 (default 1). Also driven by Ctrl + mouse wheel.
Normalised horizontal scroll position, range 0 – 1. Bidirectional — written by the mouse / wheel and readable on the next frame.
Normalised vertical scroll position, range 0 – 1. Bidirectional, as scroll x.
Bidirectional float array holding the authoritative patch state: 0.0 or 1.0 per slot, indexed device × speakerCount + speaker. Wire it out to drive a router / mix matrix, or write to it to set the grid from elsewhere.
Read-only text line summarising the current structure, e.g. groups=… arrays=… spk=… ports=… dev=… cols=… rows=…. Handy for debugging the chunk / device configuration.
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 of the module for internal help purposes only. The description is not displayed in the interface.
visible only in god mode, see setup-panel-tab-expert.
Current private ID for this control used to identify the object.
Current private preset ID for this control used for presets.
If you experience difficulties in Polyphonic mode, try to recreate new id(s) with this button.
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.
Absolute remote address. see objects-address.
Local to the current patch remote address. see objects-address.
User defined remote address. see objects-address.
version 7.0.250121
Edit All Pages