Skip to main content

Commands & snapshots

A macro is a saved command or sequence. You can assign the same macro to a device button, an encoder, a Stream Deck key or a timeline cue. When you edit the macro, every assignment that uses it picks up the new contents straight away.

Assigning a macro​

  1. Open the assignment, for example a button or an encoder, then its macro field.
  2. Pick an existing macro from the library, Quick-Create for a single command, or Multi-Step for a sequence of several steps.
  3. Set up the command as described in the sections below and save with Save Changes.

The library lets you search, edit, test and delete macros. Eligible custom macros can also be duplicated.

Test executes the command

Test really sends the command. Before testing, check which destination is selected and whether it can start lighting, audio or video.

Single commands​

  1. Choose the protocol and its settings in the editor.
  2. Select device lists the installed plugins. Their fields build the command for your destination. If there is no suitable plugin, enter the values yourself.
  3. Choose Save Changes and confirm the name in the dialog.

If you opened the editor from an assignment, the new macro is assigned there as well.

Min Time Between Go (s) sets how quickly the same macro may fire again. It guards against accidental double presses. It is not a delay within the sequence.

MIDI​

MIDI editor with USB1, USB2 and RTP outputs
SettingMeaning
Output: USB1 / USB2 / RTPOutputs for this step, each selectable on its own. RTP needs RTP-MIDI enabled. USB 2 must be available as a MIDI device port.
ChannelMIDI channel 1–16
NoteNote and velocity. Send Note Off on release ends the note when you let go.
Control ChangeController number and value. Absolute sets a value, Relative + / − changes it in steps.
Fade for CCFades between the configured A and B values over the given time (milliseconds).
Program ChangeProgram number. Check how your destination numbers its programs.
SysExHex bytes of the device-specific command, such as F0 … F7

A MIDI plugin can provide the device-specific fields. The output selection still applies.

OSC​

OSC command with target and command fields

Choose a saved Target, or enter IP and port under Custom target. Send to backup target also sends to a second destination, such as a backup machine. Use QLab addressing for this step offers a Workspace ID and an optional passcode. A QLab scan can fill in the host values.

Without a plugin, set Address, Type and Value. The types are no argument, String, Integer, Float and Double. The type has to match what the destination expects: "1" as text and 1 as a number are different arguments.

Relative values​

With Relative value control, an OSC command does not send a fixed value but changes the current value step by step, for example a mixing console fader in steps of 0.05. The option appears for type Integer or Float without a plugin.

OSC command with relative value control and feedback settings
  1. Set Type to Integer or Float and turn on Relative value control. The Value field now reads Starting value.
  2. Choose the Direction: Increase or Decrease.
  3. Enter Step size, Minimum and Maximum. The starting value must lie between minimum and maximum.
  4. For an encoder, map RIGHT > to Increase and < LEFT to Decrease, quickest via Opposite encoder directions.

Without feedback, the FrenschPress remembers the last value it sent and carries on from there. After a restart it begins at the starting value again. If someone changes the value directly on the device, the FrenschPress doesn't know.

Feedback (optional): with Value source → Device feedback, the FrenschPress works from the value the device reports back. The device has to reply to the FrenschPress IP and its OSC Listen Port, using the same scale as the command.

FieldMeaningDefault
Feedback addressAddress on which the device reports the value. Empty: the same as the command.–
Query commandOptional command that asks for the value, e.g. /ch/01/mix/fader–
Feedback argumentWhich argument of the reply holds the value, counted from 00
RefreshWhen stale: query again once the value is older than Stale after. Initial sync, then live updates: query once, then only listen. Before every adjustment: query before each step (needs a query command).When stale
Stale after (ms)When a reported value counts as out of date30000
Reply wait (ms)How long the FrenschPress waits for the reply100
Reply to query source portFor devices that reply to the sender's port instead of a fixed portoff

If valid feedback is missing or out of date, the FrenschPress skips the step rather than send a wrong value. Relative values can't be combined with Use second command, Enable release command or QLab addressing.

HTTP​

Choose a target, or host/IP and port. Then set Method, Path and, if needed, Headers and Payload.

  • Methods: GET, POST, PUT and DELETE.
  • Headers: one per line, as Header-Name: value.
  • Payload: text or JSON. If you enter a payload, it is sent with GET as well.

Your destination decides which values are needed.

TCP​

TCP editor with alternate and release payloads

Choose a target, or host and port. Data holds what is sent. With Send as binary off, the content goes out as text. With Send as binary on, hex values are converted to bytes. A plugin can build this data from readable device fields.

Toggle alternate TCP payload sends the alternate data on every other press. Its binary setting follows the primary command. Send release payload sends on release and has its own binary option. The primary, alternate and release actions can each come from plugin fields.

Alternate and release fields that are switched on must be complete. When you reopen the command later, the editor shows the saved plugin settings again.

Art-Net & sACN​

Lighting command with Channel / Level and extra actions
SettingArt-NetsACN
Universe0–327671–63999
UnicastDestination IP or saved targetDestination IP or saved target
Without UnicastBroadcast to 255.255.255.255Multicast for the universe
Priority–1–200, default 200
Channel / LevelChannels and percentagesChannels and percentages
Fade Mode / Fade TimeFade between off and the target levelsFade between off and the target levels

Channel / Level uses the syntax you know from a lighting console:

1-12@50, 34+36+37@30, 120-130@100

This sets channels 1 to 12 to 50%, channels 34, 36 and 37 to 30%, and channels 120 to 130 to 100%. Values are 0–100%, not raw DMX values of 0–255. The fade only sets the time taken to reach the levels; the levels themselves stay as entered.

Momentary bump​

Where it is offered, choose Momentary bump under Send release action. The lighting action is active while you hold the button. On release, the FrenschPress sends the matching return action. Use it for an accent that lasts exactly as long as the press. The option is only available with Toggle alternate action off.

Opposite encoder directions​

When you assign an encoder turn, Also map the opposite direction may appear. It creates the opposite direction at the same time, such as level up and level down. Before saving, check the note that tells you which second control will be mapped. For Art-Net/sACN on encoder push, use the master fader instead.

Extra actions​

  • Toggle alternate action switches between the primary and the alternate action on successive presses.
  • Send release action fires an additional action on release.

The editor only shows these options for compatible protocols and assignments. MIDI and OSC have their own second and release fields; TCP uses the payload fields described above.

For HTTP, the extra actions only change the payload. Target, method, path and headers come from the primary command.

Switch Set also offers Restore previous set selection on release. The selected set applies while you hold the button. On release, the previous sets return. This gives you temporary access to a second mapping layer.

For a complete on/off sequence with several steps, use the separate sequences in the Multi-Step editor.

Multi-Step​

Multi-Step editor
  1. Enter a name and description.
  2. Add steps and set up each one in its protocol editor.
  3. Drag steps to change the order if needed.
  4. Apply with Save Changes.
SequenceWhen it runs
On Pressnormal button press
On Next Pressevery other press, alternating with On Press
On Releaseon release

You switch on On Next Press and On Release in the editor.

Besides the protocols above, these step types are available:

StepEffect
Delaywaits the given time in milliseconds before the next step
Button Mapping Switch / Switch Setswitches the selected device buttons or encoder controls to set A, B or C
Variablesets the name and value of a device variable
TimeCodecontrols the MTC master or the internal timecode

Snapshots​

A snapshot stores incoming Art-Net or sACN channel values for up to ten universes. It lets you play back a prepared lighting look without the console having to keep running.

Snapshot editor with universe range, fade, trigger mode and channel editing
  1. In the macro picker, choose snapshot creation for Art-Net or sACN.
  2. Enter Universe Start and, if needed, Universe End. Art-Net starts at 0, sACN at 1. Ten universes at most.
  3. Set unicast and destination IP as needed.
  4. Set Fade Duration (ms), plus Priority for sACN.
  5. Choose the Trigger Mode:
    • Toggle switches on and off with each press.
    • Temp acts while you hold and restores the current external input on release.
  6. Create the snapshot and assign it.
  7. With the desired look arriving from the console, hold the assigned button for five seconds. The button flashes green three times when the recording is stored, and red three times if it failed.

Ignore recorded zeros leaves channels that were at 0 during recording under console control. This includes channels you set to 0 on purpose. With sACN the receiver must support per-address priority, with Art-Net it must merge HTP.

Hold to re-record lets you record again later with a long hold. Turn it off if a long-held Temp look should not overwrite the stored look.

Checking and correcting​

Monitor shows the stored values without triggering the snapshot. Choose a universe. Non-zero only hides channels at 0. Refresh reloads the stored state.

Snapshot monitor with stored channels

You do not have to re-record to correct individual channels:

  1. Open the existing snapshot for editing. Recorded content shows a summary.
  2. Choose the universe.
  3. Under Levels to apply, enter the levels, for example 1-12@50, 20@100.
  4. Choose Apply.

Only those channels change; all others keep their stored values. Apply writes the correction immediately.

Snapshot macros cannot be duplicated, because the recording belongs to the original macro. Keep important looks safe in a backup.

Troubleshooting​

SymptomCauseFix
MIDI does not arrive over RTPRTP-MIDI is not enabledEnable RTP-MIDI, then test again
MIDI does not arrive over USB 2USB 2 is working as a USB host for a Stream Deck or the LTC dongleIn Settings, turn off Enable USB Host support and choose Save & Restart USB 2
OSC destination does not react although the address is rightArgument type does not match, e.g. text instead of a numberSet Type to what the destination expects
Saving failsAlternate or release fields that are switched on are incomplete, or plugin fields are still loadingComplete or switch off the fields; wait until the plugin fields have loaded
Macro fires only once when pressed quicklyMin Time Between Go (s) blocks the repeatLower the value
Snapshot was overwritten by accidentTemp look held for a long time with Hold to re-record onTurn off Hold to re-record
Duplicate is missing for a snapshotSnapshot macros cannot be duplicatedKeep the look in a backup