Expand description
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§
- Absolute
Event - 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…
- Meta
Event - 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
- Midi
Message - 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
- Track
Event - An event occuring in the track.
Enums§
- Event
- An event can be either a midi message or a meta event
- Meta
Command - Meta
Error - An error that can occur parsing a meta command
- Midi
Error - 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