Crate nodi[][src]

Expand description

This crate provides types and functions for abstracting MIDI files.

This crate works alongside with the midly and midir crates. However you can implement your own Connection, instead of using midir.

A Basic Workflow

  • Use midly to parse a MIDI file.
  • Create a Ticker from the header.
  • Create a Sheet from the parsed tracks.
  • Initialize a MIDI connection using midir.
  • Create a Player from the connection and the timer.
  • Play the sheet using the player.

Examples

Check out /examples/play_midi.rs for a basic midi player.

For a little more complicated example please check out the source code of plmidi for an implementation.

Crate Features

No feature is enabled by default.

Structs

An iterator over bars in a MIDI Sheet.

Represents a MIDI message.

A type that can play Sheets.

Holds every moment in a MIDI track, each moment representing a MIDI tick.

Implements a Metrical Timer.

Enums

Represents a single MIDI event.

Represents a single moment (tick) in a MIDI track.

Traits

Any type that can play sound, given a MidiEvent.

Used for timing MIDI playback.