Skip to content

docs(amyboard): document MIDI clock sync (following and sending)#1028

Merged
bwhitman merged 1 commit into
mainfrom
amyboard-docs-midi-sync
Jun 22, 2026
Merged

docs(amyboard): document MIDI clock sync (following and sending)#1028
bwhitman merged 1 commit into
mainfrom
amyboard-docs-midi-sync

Conversation

@bwhitman

Copy link
Copy Markdown
Collaborator

Adds a Syncing to MIDI clock subsection to docs/amyboard/python.md. #1024 documented sending MIDI notes (midi_out + amy.AMY_MIDI) but clock sync wasn't covered, and the receive switch (tulip.external_midi_sync) wasn't in the AMYboard docs at all.

Following an external clock

  • tulip.external_midi_sync(True/False) — off by default; slaves AMYboard's sequencer to incoming F8 (24 ppqn sets tempo), with FA/FC starting/stopping it while enabled.

Sending clock

  • Manual FA/F8/FC via tulip.midi_out().
  • A tempo-locked clock generator via tulip.seq_add_callback(fn, 0, 2) — AMY's sequencer is 48 PPQ and MIDI clock is 24 PPQ, so period=2 emits a tick every other sequencer tick.

All API calls verified against tulip/shared/modtulip.c, tulip/shared/tsequencer.c, and sequencer.py.

Note: the FA/FC-gating ("Start/Stop only take effect while sync is enabled") and "turn sync off to return to the internal clock" recovery semantics described here ship with shorepine/amy#748 — land/merge that (and bump the amy submodule) so the docs match the firmware.

🤖 Generated with Claude Code

python.md covered sending MIDI notes (midi_out + amy.AMY_MIDI) but not clock
sync. Add a "Syncing to MIDI clock" subsection:

- Following: tulip.external_midi_sync(True/False) to slave AMYboard to an
  external F8 clock (off by default); F8 sets tempo, FA/FC start/stop while
  enabled.
- Sending: emit FA/F8/FC with tulip.midi_out(), and a tempo-locked clock
  generator via tulip.seq_add_callback() (48 PPQ internal vs 24 PPQ MIDI ->
  period=2).

The FA/FC-gating and "sync off restores internal clock" semantics described
here land with shorepine/amy#748.
@bwhitman bwhitman merged commit 128a772 into main Jun 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant