MCPcopy Index your code
hub / github.com/BlackPhlox/bevy_midi

github.com/BlackPhlox/bevy_midi @v0.12.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.12.0 ↗ · + Follow
94 symbols 136 edges 7 files 10 documented · 11%
What it actually does AI analysis from the code graph — generated when you open this
loading…
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
0.15 0.10.X
0.16 0.11.X
0.17 0.12.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

Core symbols most depended-on inside this repo

send
called by 31
src/output.rs
spawn_note
called by 12
examples/piano.rs
ports
called by 7
src/input.rs
connect
called by 6
src/input.rs
get_available_ports
called by 3
src/input.rs
get_available_ports
called by 3
src/output.rs
is_note_on
called by 2
src/lib.rs
is_note_off
called by 2
src/lib.rs

Shape

Function 34
Method 30
Class 21
Enum 9

Languages

Rust100%

Modules by API surface

src/input.rs22 symbols
src/output.rs21 symbols
examples/egui.rs15 symbols
examples/input.rs11 symbols
examples/piano.rs10 symbols
examples/output.rs10 symbols
src/lib.rs5 symbols

For agents

$ claude mcp add bevy_midi \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page