bevy_midi

Crates.iobevy_midi
lib.rsbevy_midi
version0.9.0
sourcesrc
created_at2021-06-22 17:45:23.238002
updated_at2024-07-28 09:12:09.85963
descriptionSend and receive MIDI data to and from bevy and other programs or controllers.
homepage
repositoryhttps://github.com/BlackPhlox/bevy_midi
max_upload_size
id413465
size184,252
Mikkel Rasmussen (BlackPhlox)

documentation

https://docs.rs/bevy_midi

README

bevy_midi
link to crates.io link to docs.rs link to license downloads/link to crates.io stars/github repo github actions tracking bevy release branch

A bevy plugin using midir and crossbeam-channel. This plugin allows you to read or write midi data for a selected midi input.

Showcase

Run the examples using:

Basic midi output: cargo run --release --example output
Basic midi input: cargo run --release --example input
UI Virtual Piano: cargo run --release --example egui
3D Virtual Piano: cargo run --release --example piano

Running the UI Virtual Piano example:

piano

Running the 3D Virtual Piano example:

https://user-images.githubusercontent.com/25123512/122971334-3bae6100-d38f-11eb-9605-4c314b088ff2.mp4

Notice: Sustain is not handled by the example

Browser support: Still work in progress.

Setup

See examples

Support

Bevy tracking

bevy bevy_midi
0.5 0.1.X
0.5 0.2.X
0.6 0.3.X
0.7 0.4.X
0.8 0.5.X
0.10 0.6.X
0.12 0.7.X
0.13 0.8.X
0.14 0.9.X

Licensing

The project is under dual license MIT and Apache 2.0, so joink to your hearts content, just remember the license agreements.

Contributing

Yes this project is still very much WIP, so PRs are very welcome

Commit count: 123

cargo fmt