Volume — tdlidar_remote

Drive transport and step presets hands-free with the phone’s volume buttons and any headset/media remote.

Category: Touch & Input · Tier: Free · Needs: any iPhone (optionally wired/Bluetooth headset with media buttons)

What it does

Turns the iPhone’s hardware volume buttons and the play/pause/next/previous controls on a headset or media remote into OSC events. The five button channels are momentary — they flash 1 then snap back to 0 on each press — while volume is the current system level 0–1. The clever bit: the app keeps re-centring the volume after each press, so the up/down buttons never hit the end-stop and keep firing forever. It’s a free wireless clicker for running a TD show without touching the screen.

OSC in

| address | type | range | rate | |—|—|—|—| | /tdlidar/remote/playpause | float | momentary 1→0 | on press | | /tdlidar/remote/next | float | momentary 1→0 | on press | | /tdlidar/remote/previous | float | momentary 1→0 | on press | | /tdlidar/remote/volup | float | momentary 1→0 | on press | | /tdlidar/remote/voldown | float | momentary 1→0 | on press | | /tdlidar/remote/volume | float | 0–1 (re-centres so buttons keep firing) | on change |

Outputs

out1 (CHOP) — six channels named after the addresses without the leading slash: tdlidar/remote/playpause, …/next, …/previous, …/volup, …/voldown, and tdlidar/remote/volume. The node tile previews out1.

Parameters

| par | default | what it does | |—|—|—| | OSC Port | 9000 | UDP port to listen on (match the app) |

Quick start (beginner)

  1. In the TDLiDAR app, enable Remote Control (Volume).
  2. Drop the Volume op. Press the phone’s volume-up button — tdlidar/remote/volup blips to 1 and back.
  3. Wire tdlidar/remote/playpause into a Trigger CHOP to start/stop your transport (a Timer, a Movie File In play toggle, a Beat reset).
  4. Plug in earbuds with inline buttons and you’ve got a wireless remote — next/previous step your set from your pocket.

Advanced patterns

  • Step a Switch / preset bank: Count CHOP on next (and another, counting down, on previous) → feed the count into a Switch TOP/SOP index to walk through presets, slides or scenes hands-free. Set the Count’s Limit Max + wrap to loop the bank.
  • Volume as a fader: because volume re-centres, don’t read it as an absolute level — instead take its Slope CHOP (or compare against its lagged self) so each up/down nudges a value by a delta. Great for a relative “trim” knob that never saturates.
  • Toggle from a momentary: Trigger CHOPCount CHOP (Limit Max 1, wrap) turns playpause into a latched on/off you can drive a Switch with.
  • De-bounce / hold: a long press can repeat — a Trigger Re-Trigger Delay gives one event per intentional press.

Gotchas

  • The five buttons are momentary 1→0 — a blink, not a held state. Always go through a Trigger/Count; you can’t read them as a level.
  • volume deliberately re-centres after each press so the buttons never hit min/max. That means its absolute value is meaningless — use it for change (deltas), not as a 0–1 fader position.
  • iOS may also change the actual ringer volume as you press; that’s harmless to the show but expected.