Flow editor

Open the flow editor with Flows in the sidebar. New to flows? Build your first flow first, then come back here for the details.

The editor has four parts:

  • Toolbar (top): create, save, undo, run, and view options.
  • Left panel: your flows, the node list, and templates.
  • Canvas (middle): where nodes and wires live.
  • Property panel (right): the settings of the selected node or group.

Organizing flows

The Flows tab lists your flows and folders. Click a flow to open it. If the open flow has unsaved changes, you'll be asked whether to save them first.

  • New creates a flow. The New flow button in the toolbar does the same.
  • The folder button creates a folder inside the current one. Click a folder to open it, and use the path above the list (starting at All flows) to go back up.
  • Drag a flow onto a folder to move it there, or onto All flows to move it to the top level.
  • Search flows searches names, descriptions, and tags in the current folder.
  • The play button on each flow runs or stops it without opening it.

Right-click a flow for more:

  • Edit details: name, description, folder, and tags.
  • Save and Share online (see community flows).
  • Duplicate: makes a copy named "(Copy)".
  • Save as template: see templates.
  • Move to All flows, or to the parent folder.
  • Delete. Stop the flow first.

Deleting a folder moves its flows up one level; it does not delete them.

Adding nodes

There are three ways to add a node:

  • In the Nodes tab, drag a node onto the canvas, or click it to drop it in the middle of the view. Search nodes searches names and descriptions, and Recently used keeps your usual nodes at the top.
  • Double-click or right-click empty canvas to open the node menu, then pick a category or search.
  • Drag a wire from a pin and let go on empty canvas. The Add a node to connect list shows only nodes that fit, and the one you pick is wired up for you.

Wiring nodes

Drag from a pin to a pin on another node to connect them. While you drag, pins that can't accept the wire fade out; see pin types for what connects to what.

  • To delete a wire, click it and press the × that appears, or press Delete. Right-clicking a wire deletes it straight away.
  • Double-click a wire to add a corner, then drag the corner to route the wire. Double-click or right-click a corner to remove it.
  • View → Right-angle connections draws wires with square corners, and View → Snap to grid lines nodes up on the grid. Both apply to every flow.

Moving around

  • Pan: drag with the middle mouse button.
  • Zoom: scroll the mouse wheel, between 25% and 200%. The View menu also has Zoom in, Zoom out, and Fit everything on screen.
  • Select: click a node, Ctrl+click to add more, or drag a box on empty canvas. Drag any selected node to move them all.
  • Tidy up automatically in the View menu rearranges the whole flow. Ctrl+Shift+L tidies just the selected nodes.

Editing nodes

Select a node to show its settings in the property panel:

  • Label on the canvas renames this node on the canvas. Leave it empty to use the node's own name.
  • Active: turn it off to skip the node while the flow runs. The branch stops at a skipped node, and it shows faded on the canvas.
  • Settings: the node's properties, described on each node reference page.
  • Advanced: the node's ID and a list of its pins.

To delete a node, select it and press Delete, or click the × on the node. Its wires go with it.

Copy, paste, and undo

Ctrl+C, Ctrl+V, and Ctrl+D copy, paste, and duplicate the selected nodes and the wires between them. Copies stay within the open flow: switching flows clears the copied nodes and the undo history. Undo keeps the last 100 steps. Changes made in the property panel are undone along with the next canvas change rather than on their own.

Groups

Groups are colored boxes that keep related nodes together.

  • Right-click the canvas and choose Create Group. With nodes selected, the group wraps around them.
  • Drag the group's header to move it along with the nodes inside. Select it to resize it from the corners.
  • The buttons on the header tidy the group's nodes, lock the group in place, or delete it. Deleting a group keeps its nodes.
  • Set the name and color in the property panel. Groups can't overlap.

Templates

A template is a saved copy of a flow that you can add to other flows.

  • Right-click a flow and choose Save as template.
  • In the Templates tab, click a template to add its nodes to the open flow. The flow must be stopped.
  • Right-click a template to rename it or delete it.

Running a flow

  • Run starts the open flow and leaves it listening for its triggers. Stop stops it. The status next to the flow name shows Running or Stopped.
  • Flows keep running when you leave the editor, and flows that were running start again the next time MultiShock opens. They stop when you close MultiShock.
  • While a flow runs you can't add, delete, connect, or edit nodes. Stop it first.
  • While a flow runs, the lightning button fires its Manual Trigger, so you can test it by hand. It does nothing if the flow has no Manual Trigger.
  • Stop everything in the sidebar stops all flows at once. See safety controls.

Run uses the flow as it is on screen, including unsaved changes, but only saved changes are kept after you close MultiShock.

Problems

When the editor finds a problem, such as a flow with no trigger or a node missing a required setting, a problems button appears in the toolbar. Click it to list the problems, and click one to jump to the node. Problems are warnings: a flow with problems can still run.

Debugging

While a flow runs, the canvas shows what is happening:

  • A node glows briefly when it runs, and dots travel along wires as data moves.
  • Hover a node to see how long its last run took, and its error if it failed.
  • A red ! badge marks a node whose last run failed.
  • Some nodes show their latest value in a strip under their pins. Add a Display node anywhere you want to see a value.

Keyboard shortcuts

Press ? anywhere in MultiShock to see the shortcut list.

ShortcutAction
Ctrl+KSearch pages, plugin pages, flows, and actions
Shift+EscStop everything
?Show the shortcut list
Ctrl+ZUndo
Ctrl+Y or Ctrl+Shift+ZRedo
Ctrl+C / Ctrl+VCopy and paste the selected nodes
Ctrl+DDuplicate the selected nodes
Delete or BackspaceDelete the selection
Ctrl+Shift+LTidy the selected nodes
EscClose the node menu

The flow editor shortcuts work once you've clicked the canvas.

Where flows are saved

Flows are saved as JSON files in %LocalAppData%\PiShock\MultiShock\flows\, with a subfolder for each folder in the Flows tab. To share a flow, use Share online.

Contributors

Thank you to everyone who has helped improve this documentation.