Skip to content

Conversation

@sastraxi
Copy link

@sastraxi sastraxi commented Dec 24, 2025

Creates a single virtual MIDI port ("piStomp-MIDI") for all hardware controls to send MIDI messages through, rather than using the pre-existing "Midi Through" ALSA port. This way we can forward / filter / modify the ones we want via the MIDI routing in the pedalboard, and the parameters still work for MIDI Learn.

Changes:

  • Add VirtualMidiPort class managing amidithru subprocess lifecycle
  • Update modalapistomp.py to create virtual port at startup
  • Remove unused rtmidi import from analogmidicontrol.py
  • All hardware controls now send to a virtual port rather than Midi Through

The virtual port is created early in startup, discovered via rtmidi, and cleaned up gracefully on exit. JACK auto-connects to this port for MIDI Learn in separated mode.

Stacked PRs:

Creates a single virtual MIDI port ("piStomp-MIDI") for all hardware
controls to send MIDI messages through. This consolidates MIDI routing
and enables automatic JACK bridging in separated mode.

Changes:
- Add VirtualMidiPort class managing amidithru subprocess lifecycle
- Update modalapistomp.py to create virtual port at startup
- Remove unused rtmidi import from analogmidicontrol.py
- All hardware controls now send to single virtual port

The virtual port is created early in startup, discovered via rtmidi,
and cleaned up gracefully on exit. JACK auto-connects to this port
for MIDI Learn in separated mode.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
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