Passeri is a MIDI Sender/Receiver bridge over Network (TCP, Bluetooth, and other to come).
It is build on a parallel blocking architecture composed of 3 threads:
main_thread
where the bridge residemidi_thread
which is in charge of communication with local midi portsnetwork_thread
which forward or receive MIDI messages on given network
Passeri is shipped with a couple of helper functions to make it easier to use.
- MIDI thread implementation
- MIDI sender
- MIDI receiver
- Bridge api development (passeri-api)
- Trait description
- Sender and Receiver implementation
- Documentation
- TCP implementation (passeri-tcp)
- PoC
- Documentation
- Testing
- Benchmark
- Bluetooth implementation (passeri-bluetooth) following BLE MIDI
- PoC
- Documentation
- Testing
- Benchmark
- GUI using Tauri
Some examples are available in the examples/
directory.
A very simple set of Sender and Receiver using TCP Network can be run as following:
First let's run the Sender:
cargo run --example sender 127.0.0.1:8080 passeri_listener
you can then connect to it using the following command
cargo run --example receiver -- 127.0.0.1:8080 passeri_receiver
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.