The machine view helps creating and structuring plugins in a graph.
There are several ways to add new plugins to a song.
To connect any two plugins, hold down shift and click and drag from the plugin you want to create a connection. While dragging and holding the mouse over a plugin, a popup menu shows which types of connections can be created.
The types of connections are:
| Connection type | Connection data | Connection requirements |
|---|---|---|
| Audio connection | Multi-channel, 32-bit floating point audio data |
Source plugin has zzub_plugin_flag_has_audio_output. Target plugin has zzub_plugin_flag_has_audio_input. Click and drag on the connection triangle to adjust the volume on all channels. |
| MIDI connection | MIDI messages |
Source plugin has zzub_plugin_flag_has_midi_output. Target plugin has zzub_plugin_flag_has_midi_input and exposes at least one virtual MIDI device. |
| Event connection | Parameter values mapped 1:1 from a list of parameter bindings |
Source plugin has zzub_plugin_flag_has_event_output and at least one controller output parameter. Target plugin needs no special flags. Only one or more parameters. Click on the connection triangle to edit the current event parameter bindings. |
| Note connection | Note messages consisting of note, wave index and amp |
Source plugin has zzub_plugin_flag_has_note_output. Target plugin needs no special flags. Only one or more note parameter. |
Right+click somewhere in the background to bring up a context menu:
New...: Creates a new plugin or plugins from a template. The plugin and template hierarchy displayed in the "New"-submenu is parsed from Gear/Templates/*.armz and Gear/index.txt. Plugins not listed in index.txt are placed in separate menus for "Unsorted Generators", "Unsorted Effects", "Unsorted Controllers", "Unsorted MIDI Effects", "Unsorted MIDI Generators" and "Unsorted Other Plugins".
Cut/Copy/Paste: Works with plugin selections on the clipboard.
Create new group: Creates a plugin group with stereo input/output.
Import song...: Import an existing .ARMZ from disk into the current project.
Unmute all machines: Yes.
Right+click a plugin or plugin selection to bring up its context menu:
Mute/Solo/Bypass: Toggles muting options.
Minimize/Unminimuze: Toggles plugin display size.
Hide Incoming: Toggles whether to hide incoming connection wires. Can help keeping the graph more tidy.
Parameters: Shows the plugin parameter view.
Properties: Shows plugin properties.
Cut/Copy: Works with plugin selections on the clipboard.
Delete: Deletes the plugin.
Smart Delete: Deletes the plugin and keeps existing connections between plugins before and after the deleted plugin.
Replace: Replaces the machine with another machine
Insert Before/Insert After: Creates a new machine on the connection before or after the selected plugin.
Render Output: Render the output of the selected plugin to disk or wavetable as fast as possible. Fails if the song has looping patterns causing the song to run infinitely.
Save Selection To File: Saves the selected plugins to an .ARMZ on disk. Similar to "Copy", but saves to disk instead of the clipboard.
Time Source: Sets the source of BPM/TPB and other timing info for the selected plugin. This is useful when a project plays patterns in different tempos at the same time. Plugins know only about a single tempo, so this setting decides what tempo a plugin should track for its internal calculations.
Create Default Format: Creates a new pattern format based on the selected plugin parameters.
Right+click on a connection triangle to bring up a context menu:
Disconnect <type>.: Disconnects the specific connection type.
Copy/Paste: Works with the audio connections volumes.
Insert...: Inserts a plugin here.
Properties: Shows connection properties. For setting up the range of audio channels transfered between the source and target plugins.