Imagine Bob own a TR 808 at home and Alice a nozoid OCS-2. They can control each other devices in a webpage or a midi controller.
If John has a mutliple encoders midi controller at home and want to control Alice and Bob devices, all changes made by John will be displayed to everyone and played by devices.
More you can use also a vcvrack complex patch to drive light fixtures, laser abstract generators, midi instruments, wherever they are...
# Jamidi features
- Jamidi vs rtpmidi ? rtpmidi is transport efficiency, but bound to midi specifications. Jamidi support midi cc and note but is more OSC style : you can add any type of "command".
- Jamidi is websocket based, so accept anything (webpage, home made client,...).
- Jamidi doesn't broadcast audio. Use whatever solution you like. We use icecast and VLC to listen.
- Jamidi is experimental and nowhere safe. You need to understand safety risks with opening a network port, especially over Internet. Ask someone who knows if you don't.
# How it work : Websocket
Websocket transport a string like :
/ocs2/cc/2 0
or
/tr808/note/1
cc : is a "command". Currently cc, reset (highly specific to nozoid synthetiser). You can add any tyoe of "command".
Some "rules" are available. Say you want all network incoming midi CC 1 channel 0 goes to a specific device on channel 3 CC 48. Rules must be described in rules.json