| .. | ||
| cli.md | ||
| configuration.md | ||
| installation.md | ||
| platforms.md | ||
| README.md | ||
Midi Harbor
Midi Harbor manages MIDI connections on macOS, Linux and Windows: virtual ports that applications on the same computer can use, attached MIDI hardware, network ports that reach other computers over RTP-MIDI, and Bluetooth LE MIDI devices. Connections repair themselves. A network connection that drops is reconnected, hardware that is unplugged and plugged back in picks up where it left off, and notes that were sounding when a link went away are released rather than left ringing.
A daemon owns every connection and runs whether or not anything is watching it. The command line and the graphical interface are both clients of it: closing either changes nothing.
- Installation — building, installing, and running the daemon at login.
- Command line — every command, its options, and its exit codes.
- Configuration file — where the setup is kept, and how to write it by hand.
- Platforms — where macOS, Linux and Windows behave differently, and why.
A first setup
midi-harbor service install --start # run the daemon now and at every login
midi-harbor port create "Sequencer Bus" # a port every MIDI application can see
midi-harbor status
To join another computer on the network, create a network port and connect it:
midi-harbor network create "Studio"
midi-harbor network discover # the machines advertising on this network
midi-harbor network connect "Studio" "Stage Mac"
midi-harbor route create "Sequencer Bus" "Studio"
MIDI played into "Sequencer Bus" now reaches "Stage Mac", and keeps reaching it across sleep, network changes, and either machine restarting.