Crate rimd [] [src]

rimd is a set of utilities to deal with midi messages and standard midi files (SMF). It handles both standard midi messages and the meta messages that are found in SMFs.

rimd is fairly low level, and messages are stored and accessed in their underlying format (i.e. a vector of u8s). There are some utility methods for accessing the various pieces of a message, and for constructing new messages.

For example usage see the bin directory.

For a description of the underlying format of midi messages see:
http://www.midi.org/techspecs/midimessages.php
For a description of the underlying format of meta messages see:
http://cs.fit.edu/~ryan/cse4051/projects/midi/midi.html#meta_event

Structs

AbsoluteEvent

An AbsoluteEvent is an event that has an absolute time This is useful for apps that want to store events internally with absolute times and then quickly build an SMF file for saving etc...

MetaEvent

Meta event building and parsing. See http://cs.fit.edu/~ryan/cse4051/projects/midi/midi.html#meta_event for a description of the various meta events and their formats

MidiMessage

Midi message building and parsing. See http://www.midi.org/techspecs/midimessages.php for a description of the various Midi messages that exist.

SMF

A standard midi file

SMFBuilder

An SMFBuilder can be used to create an SMF file. This is done by adding tracks to the builder via add_track and then adding events to each track.

SMFWriter

An SMFWriter is used to write an SMF to a file. It can be either constructed empty and have tracks added, or created from an existing rimd::SMF.

Track

A sequence of midi/meta events

TrackEvent

An event occuring in the track.

Enums

Event

An event can be either a midi message or a meta event

MetaCommand
MetaError

An error that can occur parsing a meta command

MidiError

An error that can occur trying to parse a midi message

SMFError

An error that occured in parsing an SMF

SMFFormat

Format of the SMF

Status

Functions

note_num_to_name

convert a midi note number to a name