midi-harbor/docs/README.md
2026-09-28 13:59:10 -05:00

35 lines
1.7 KiB
Markdown

# 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](installation.md) — building, installing, and running the daemon at login.
- [Command line](cli.md) — every command, its options, and its exit codes.
- [Configuration file](configuration.md) — where the setup is kept, and how to write it by hand.
- [Platforms](platforms.md) — where macOS, Linux and Windows behave differently, and why.
## A first setup
```bash
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:
```bash
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.