Skip to content

Add test for midi_note_cmd; note_source now reports MIDI channel.#784

Merged
dpwe merged 7 commits into
mainfrom
midi_note_cmd_test
Jul 6, 2026
Merged

Add test for midi_note_cmd; note_source now reports MIDI channel.#784
dpwe merged 7 commits into
mainfrom
midi_note_cmd_test

Conversation

@dpwe

@dpwe dpwe commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

I wanted to update the routing of events through midi_mappings to allow additional, non-MIDI options like pan, so I started with a test. But before that I realized I didn't have a test of conventional midi_note_cmd operation, so I added one, then found that it didn't work. So I got into fixing routing through the MIDI layer, particularly for SYNTH_FLAGS_NOTES_VIA_MIDI, which is problematic as noted in #782.

This change fixes the problem of possible loops in midi_mappings processing by setting note_source to the MIDI channel on which the event was received for events processed by midi_mappings. If those mapped events are again considered for mapping (at patches.c:792), they are skipped because note_source indicates they have already been processed. By using the MIDI channel, it's possible to stack midi_mappings on different synths (but does not protect against loops where synth X forwards to synth Y, then synth Y sends back to synth X).

@bwhitman

bwhitman commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

🎛️ AMYboard HW CI

Dispatched this PR's amy SHA to the tulipcc bench — it builds the AMYboard firmware with your change and runs it on the physical board (audio spectral-compared to a committed reference). Results post here in a few minutes.

@bwhitman

bwhitman commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

🎛️ HW CI (physical bench)

Built from this AMY PR, pinned into the tulipcc amy submodule.

AMYboard (USB-MIDI + AMY zP → audio; built-in tones + AMYboard World sketches acid/house/woodpiano over the SysEx control API): ❌ FAIL — a check did not match, or the run errored. See the log/artifacts.

Tulip (TULIP4_R11; serial-REPL audio + WiFi screenshot): ✅ PASS — flashed this PR’s firmware; all checks matched the references.

⬇️ Artifacts: recordings · screenshot · serial logs · run logs

Self-hosted bench. Audio spectral-compared to ref/hwci_basic.wav, the AMYboard World sketch refs (ref/{acid_generator,house_generator,woodpiano}.wav) + ref/tulip_basic.wav; Tulip screenshot pixel-compared to ref/tulip_screenshot.png. Both analog outs share one capture card, so the tests run sequentially.

@dpwe dpwe merged commit e0e81da into main Jul 6, 2026
10 checks passed
@bwhitman

bwhitman commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

⛓️ tulipcc integration PR opened

This merge was pinned into tulipcc for full-system CI: shorepine/tulipcc#1085

Test it there and merge that PR to move tulipcc onto this AMY.

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.

2 participants