Nudge — Focus Companion

Hands-on focusing for grandMA3, grandMA2, Chamsys MagicQ and Avolites Titan — from the phone in your pocket.

Nudge sends OSC over Wi-Fi to your lighting console or onPC so you can focus fixtures with a thumbstick — from the phone already in your pocket. Verified against grandMA3, with bundled presets for grandMA2, Chamsys MagicQ and Avolites Titan. Pair a DualSense (PS5) controller for physical feel, or use the on-screen pad.

Velocity sticks

Analog deflection sets the speed of change on pan / tilt / zoom / focus. Smooth, encoder-style feel.

In-pad sensitivity

A horizontal slider sits right above the focus thumbstick — dial pan/tilt feel without leaving the screen. A pair of full sliders lives on the Connect tab too.

Console presets

Switch between MA3, MA2, Chamsys and Avolites. Each preset keeps its own bindings, so jumping desks doesn't cost your customizations.

Two layouts

Focus pad (one stick + Highlight / Set / Solo / Prev / Next) or the full DualSense preview. Toggle instantly.

Fully remappable

Every button and axis can fire a console command-line string. Highlight exposes separate On / Off verbs so you can match each console's exact toggle pair.

Optional gamepad

DualSense over Bluetooth works natively. Physical and on-screen controls are active simultaneously. Pocket mode keeps it driving while the phone is locked.

Auto-connect

No Connect button. Type host and port; Nudge wires up the socket and refreshes whenever you change them or come back to the foreground.

Local-only

No accounts. No analytics. Traffic only goes to the console IP you enter.

Why the name

A "nudge" is a precise, continuous adjustment — exactly what velocity-based thumbstick input produces. Deflect the stick and Nudge sends a stream of small relative changes (Attribute "Pan" At + 1.23) to the console. Release, and it stops. Hold, and it drifts. The harder you push, the faster the change. No encoders, no clicking through pages.

Getting started

  1. Put phone and console on the same Wi-Fi. Not just the same SSID — the same subnet. Guest networks and AP isolation will block OSC.
  2. Pick your console preset. Mapping tab → Console picker → choose grandMA3, grandMA2, Chamsys or Avolites. Each preset ships with its own command-line vocabulary and remembers your bindings independently.
  3. Configure the console to receive OSC. The Connect tab links to an in-app OSC Setup walk-through tailored to whichever preset you picked — exact menu paths and field names included. The short version: enable an OSC input on the console, point it at the port you'll use in Nudge, and turn "Send Command" (or its equivalent) on.
  4. Open Nudge → Connect. Enter the console's IP, the OSC port, and the prefix (default /ma). Nudge connects automatically — there's no Connect button — and iOS will prompt for Local Network permission on first launch. Allow it.
  5. Verify. Switch to the Live tab and drag the thumbstick or tap a button. To see the actual packets, run any OSC monitor (e.g. Hexler Protokol) on a Mac on the same Wi-Fi.
  6. (Optional) Pair a DualSense. iPhone Settings → Bluetooth → hold PS + Create on the controller until the lightbar pulses → tap the device in the list. Nudge picks it up automatically.
  7. (Optional) Enable Pocket mode. Connect tab → Pocket mode. Lets you keep driving the console from a paired Bluetooth controller while the phone is locked in your pocket. Off by default.

Common questions

The Wi-Fi indicator looks ready but the console isn't reacting.

UDP is connectionless — Nudge can show "ready" without the console actually receiving anything. If the desk isn't responding, the message format usually doesn't match an OSC input rule on the console side.

Check the Mapping tab for what the app is sending, then check the console's OSC config for a matching input pattern. Use Hexler Protokol or any OSC monitor on the same Wi-Fi to verify the packets look right.

The fixture jumps to a fixed value instead of moving smoothly.

MA3's command line needs a space between the sign and the number to treat it as a relative change: Attribute "Pan" At + 5 adds, Attribute "Pan" At +5 sets absolute. Nudge emits the spaced form by default. If you've customized the template in the Mapping editor, make sure <d> stays on its own with a space.

I'm not receiving any OSC at all.

Most likely causes, in order:

  1. Local Network permission. iPhone Settings → Privacy & Security → Local Network → Nudge must be on.
  2. Different subnets / guest Wi-Fi. Check that your iPhone IP and console IP share the first three octets.
  3. Console OSC port already in use. If you start the console software after another listener (Protokol, another OSC tool) on the same port, whichever started second silently fails to bind.
  4. Mac firewall. System Settings → Network → Firewall. Temporarily off for testing.
Does the DualSense work on iPad or Mac?

Nudge is iPhone-only for now. DualSense itself pairs with iPad and Mac natively, but the app targets iPhone because the point is fitting in your pocket.

Does it work with grandMA2, Chamsys MagicQ or Avolites Titan?

Yes — Nudge ships console presets for all four (MA3, MA2, MagicQ, Titan). The MA3 preset is verified against real hardware; the other three are bundled with reasonable defaults but currently unverified by the developer on real desks. Every binding is editable, so if a verb on your console isn't quite right, you can rewrite it directly in the Mapping editor. The Connect tab also links to an in-app setup guide tailored to each preset.

Why are there two Highlight fields in the binding editor?

The Focus pad's Highlight button is stateful — it remembers whether Highlight is on or off and sends a different command for each transition. MA3 and MA2 use Highlight On / Highlight Off; other consoles often use a single toggle verb. The two fields let you match whichever convention your console uses, including paired macros if you've defined them.

Can I use a different controller?

Anything Apple's GameController framework sees as an "extended gamepad" should work — Xbox Series X|S controllers, MFi gamepads, etc. Button labels in the app stay DualSense-themed.

What is Pocket mode?

An opt-in toggle on the Connect tab. When on, Nudge holds a silent audio session active in the background so iOS keeps the run loop alive while the screen is locked. That lets a paired Bluetooth controller keep driving OSC from your pocket mid-cue. It's silent (zero-filled buffer, mixed with other audio) and off by default — turn it back off when you don't need it to save battery.

Will adding data collection break my free install?

No — there's no data collection of any kind, now or planned. See the privacy policy.

Contact

Bugs, feature requests, MA3 OSC quirks, or anything else:

wesselwagemans@hotmail.com

Please include your iOS version, Nudge version (Connection tab), and the OSC log from the app when reporting issues.