[][src]Crate midi_file

Re-exports

pub use crate::channel::Channel;
pub use crate::message::Message;
pub use crate::message::NoteMessage;
pub use crate::message::NoteNumber;
pub use crate::message::Program;
pub use crate::message::ProgramChangeValue;
pub use crate::message::Velocity;

Modules

channel
constants
core

The core module is for types and concepts that are not strictly related to MIDI files. These types and concepts could be used for realtime MIDI as well.

message
vlq

Structs

Error

The public Error type for this library.

Header
KeyAccidentals

$inner_type value clamped to be between $min and $max.

KeySignatureValue
MicrosecondsPerQuarter

$inner_type value clamped to be between $min and $max.

MidiFile
QuartersPerMinute

$inner_type value clamped to be between $min and $max.

SmpteOffsetValue
SysexEvent
TimeSignatureValue
Track
TrackEvent

=

Enums

Division

, specifies the meaning of the delta-times. It has two formats, one for metrical time, and one for time-code-based time:

Event

= | |

Format
KeyMode
MetaEvent

Meta Events seem to only exist in the MIDI File Spec. Here is what it says about them: A few meta-events are defined herein. It is not required for every program to support every meta-event.

SysexEventType
Text

The MIDI spec does not state what encoding should be used for strings. Since Rust strings are UTF-8 encoded, we try to parse text as a String and hope for the best. But if we get an error then we store the original bytes to facilitate lossless parsing.

Type Definitions

Result

The public Result type for this library.