#midi #music-player #music #interactive #audio-player

e_midi_shared

Shared types/midi/MusicXML logic for e_midi and its build script

7 releases

new 0.1.6 Oct 26, 2025
0.1.5 Oct 25, 2025
0.1.4 Jun 29, 2025

#1239 in Audio

Download history 40/week @ 2025-07-09 37/week @ 2025-07-16 6/week @ 2025-07-23 40/week @ 2025-07-30 8/week @ 2025-08-06 3/week @ 2025-08-13 51/week @ 2025-08-20 18/week @ 2025-08-27 32/week @ 2025-09-03 30/week @ 2025-09-10 11/week @ 2025-09-17 23/week @ 2025-09-24 58/week @ 2025-10-01 91/week @ 2025-10-08 321/week @ 2025-10-15 335/week @ 2025-10-22

807 downloads per month
Used in 4 crates (via e_midi)

MIT license

91KB
2K SLoC

e_midi_shared

Shared types and MusicXML/MIDI logic for the e_midi project.

Purpose

This crate provides all the common types, MusicXML parsing, and extraction logic used by both the main e_midi crate and its build scripts. It is not intended to be used directly by end users, but as an internal dependency for the workspace.

Features

  • Shared Rust types for songs, tracks, and notes (MIDI and MusicXML).
  • MusicXML extraction and part mapping logic (for static and dynamic song support).
  • Utilities for instrument name to MIDI program mapping.

Usage

Add as a dependency in your workspace:

[dependencies]
e_midi_shared = { path = "../e_midi_shared" }

Or as a build-dependency:

[build-dependencies]
e_midi_shared = { path = "../e_midi_shared" }

License

See the main workspace LICENSE file.

Dependencies

~16–32MB
~358K SLoC