#index SMF module Classes * Sequence * Track * Event + MIDIMessage o ChannelMessage <..., ch> # VoiceMessage @ NoteOff <..., note, vel> @ NoteOn <..., note, vel> @ PolyphonicKeyPressure <..., note, val> @ ControlChange <..., num, val> @ ProgramChange <..., num> @ ChannelPressure <..., val> @ PitchBendChange <..., val> # ChannelModeMessage <..., num, val> + SystemMessage o Exclusive # ExclusiveF0 <..., data> # ExclusiveF7 <..., data> + Meta <..., type> o SequenceNumber <..., num> o Text <..., text> # GeneralPurposeText (Text01) # CopyrightNotice (Text02) # TrackName (SequenceName, Text03) # InstrumentName (Text04) # Lyric (Text05) # Marker (Text06) # CuePoint (Text07) # ProgramName (Text08) # DeviceName (Text09) # Text0A # Text0B # Text0C # Text0D # Text0E # Text0F o ChannelPrefix <..., ch> o MIDIPort <..., num> o EndOfTrack o SetTempo <..., tempo> o SMPTEOffset <..., hr, mn, se, fr, ff> o TimeSignature <..., nn, dd, cc, bb> o KeySignature <..., sf, mi> o SequencerSpecific <..., data> Sequence Super Class Object Class Methods decode(str) decodeio(io) decodefile(fn) new([format=1[, division=96]]) Accessors format division Methods length size ntrks self << tr self >> tr push(tr) pop unshift(tr) shift self[n] self[n]=tr each{|tr| ...} encode encodeio(io) encodefile(fn) Track Super Class Object Class Methods new Methods length size nevts self << ev self >> ev push(ev) pop unshift(ev) shift self[n] self[n]=ev each{|ev| ...} Event Super Class Object Included Modules Comparable Accessors offset