SynthMaker Manual Open SynthMaker (opens in a new tab)
Grids of pads and buses

Presses are messages

A button on a face sends messages, and the wires say where they go. Here is what a press sends, and what lights a pad.

Chord Pads, pad 6 lit while it is held, beside its Patch: the bus into the Chord, the Chord into the Voice, whose wires glow.
Hold any pad: it lights and plays its chord, and both stop when you let go. Open the example sound: Chord Pads: all sixteen ↗ (opens in a new tab)

1A button's three outputs

OutputSends
actiona tap, when the press ends, as SwiftUI's Button(action:)
onPressingChangedon at the press, off at the release
performa tap, once the press has lasted minimumDuration (at the press, when that's 0)

The last two come with SwiftUI's press gesture, .onLongPressGesture(minimumDuration:), from the face editor's modifiers. The editor offers it with minimumDuration: 0, so a pad plays the moment it's touched; SwiftUI's own default, when the line leaves it out, is half a second.

Inside the pads that stay lit: the Pad card, chords, with its input isLit and its outputs action, perform and onPressingChanged; a green wire loops from action back into isLit.
Inside Chord Pads: one Pad for the grid.
  1. The Pad.
  2. Its light, isLit.
  3. Its three outputs.

2What a message does

  • A Note or a Chord plays while it's on, and stops at off. A tap plays a short note. Wired into a Track, it plays on that track's sound.
  • A Track starts or stops a track of the song; the Transport starts or stops the song. On starts, off stops, a tap toggles.
What a Press Does wired by a message wire into a Note.
Note: plays while held.
  1. The message wire.
  2. The Note.
What a Press Does wired by a message wire into a Chord.
Chord: plays while held.
  1. The message wire.
  2. The Chord.
What a Press Does wired by a message wire into a Track.
Track: a tap starts or stops it.
  1. The message wire.
  2. The Track.
What a Press Does wired by a message wire into a Transport.
Transport: a tap starts or stops the song.
  1. The message wire.
  2. The Transport.
What a Press Does: four buttons, Note lit while held, beside its Patch: each button by a message wire into a Note, a Chord, a Track and the Transport.
Hold Note or Chord to play; tap Track or Start to start and stop. Open the example sound: What a Press Does ↗ (opens in a new tab)

3What lights a pad

A pad's light is its Pad's input, isLit:

Chord Pads with pad 6 lit while it is held.
Nothing wired: lit while held.
Inside the pads: a wire loops from the Pad's action back into its isLit.
Its own action into isLit: a tap switches it on, the next off.
Inside Groovebox Jam: the Input litKick wired into the isLit of the Pad Kick.
A Track's playing, through the module's Input, into isLit: lit while its track plays. From the Groovebox Jam song.

One pad, or all of them

In a grid, a message carrying a tag lights only the pad with that tag: on lights, off darkens, a tap toggles. A message without one does it to every pad. Here a tap on pad 6 (tagged) switches only pad 6; a tap on All, a single button wired into the grid's isLit, switches every pad.

Chord Pads with only pad 6 lit.
Tagged: pad 6 only.
Chord Pads with all sixteen pads lit.
Untagged (All): every pad.
Chord Pads with an All button, beside its Patch.
Tap pads to switch them one by one; tap All to switch them all. Open the example sound: One pad or all of them ↗ (opens in a new tab)

4Pads that stay lit

The same pads with the Pad's action wired into its own isLit. Tap a pad to switch its light on, tap again to switch it off; the chord still plays only while you hold it.

Chord Pads with pads 1, 6, 11 and 16 lit after a tap on each, beside its Patch.
Tap pads to light them; hold one to hear its chord. Open the example sound: Pads that stay lit ↗ (opens in a new tab)

Remember