                                SMF ⥸塼

饹

     * Sequence <format, division, tc=nil>
     * Track
     * Event <offset>
          + MIDIMessage
               o ChannelMessage <..., ch>
                    # VoiceMessage
                         @ NoteOff <..., note, vel>
                         @ NoteOn <..., note, vel>
                         @ PolyphonicKeyPressure <..., note, val>
                         @ ControlChange <..., num, val>
                         @ ProgramChange <..., num>
                         @ ChannelPressure <..., val>
                         @ PitchBendChange <..., val>
                    # ChannelModeMessage
                         @ AllSoundOff <..., ch>
                         @ ResetAllControllers <..., ch>
                         @ LocalControl <..., ch, val>
                         @ AllNotesOff <..., ch>
                         @ OmniOff <..., ch>
                         @ OmniOn <..., ch>
                         @ MonoMode <..., ch, val>
                         @ PolyMode <..., ch>
          + SystemMessage
               o ExclusiveMessage
                    # ExclusiveF0 <..., data>
                    # ExclusiveF7 <..., data>
          + Meta
               o SequenceNumber <..., num>
               o Text <..., text>
                    # GeneralPurposeText (Text01)
                    # CopyrightNotice (Text02)
                    # TrackName (SequenceName, Text03)
                    # InstrumentName (Text04)
                    # Lyric (Display, Text05)
                    # Marker (Text06)
                    # CuePoint (Text07)
                    # ProgramName (Text08)
                    # DeviceName (Text09)
                    # Text0A
                    # Text0B
                    # Text0C
                    # Text0D
                    # Text0E
                    # Text0F
               o ChannelPrefix <..., ch>
               o MIDIPort <..., num> (PR-001 ˤʤ)
               o EndOfTrack
               o SetTempo <..., tempo>
               o SMPTEOffset <..., hr, mn, se, fr, ff, tc>
               o TimeSignature <..., nn, dd, cc, bb>
               o KeySignature <..., sf, mi>
               o SequencerSpecific <..., data>

Sequence

   󥹤ɽ륯饹Ǥ󥹤ϥȥåޤ

  ѡ饹

   Object

  󥯥롼ɤƤ⥸塼

   Enumerable

  饹᥽å

   decode(str)
          ʸ󤫤ɤߤߤޤ

   read(io)
          IO ɤߤߤޤ

   load(fn)
          ե뤫ɤߤߤޤ

          嵭3ĤΥ᥽åɤϡƥΤȤΡȥ Ρ
          դ֤ޤ

   new([format=1[, division=96[,tc=nil]]])
          󥹥֥Ȥޤ

  

   format
   division
   tc

  ᥽å

   ۤ Array Ʊ᥽åɤĤޤ ʳΤΡդɬפʤ
   Τʲޤ

   ntrks
          nitems ƱǤ

   self >> tr
          Ǥޤ

   each{|tr| ...}
          ǤˤĤƷ֤ޤ

          nil Ǥ̵뤵ޤ

   join!
          ȥåҤȤĤˤޤ EOT ϡեåȤäȤ礭ʤ
          ΤѤޤ

   encode
          ʸ˽񤭤ޤ

          ⤷ȥå EOT ʤС ȥåκǸ˥ǥ륿
          EOT ɲäޤ

   write(io)
          IO ˽񤭤ޤ

   save(fn)
          ե˽񤭤ޤ

Track

   ȥåɽ륯饹Ǥȥåϥ٥Ȥޤ

  ѡ饹

   Object

  󥯥롼ɤƤ⥸塼

   Enumerable

  饹᥽å

   new
          ȥå֥Ȥޤ

  ᥽å

   ۤ Array Ʊ᥽åɤĤޤ ʳΤΡդɬפʤ
   Τʲޤ

   nevts
          nitems ƱǤ

   self >> ev
          Ǥޤ

   each{|ev| ...}
          ǤˤĤƷ֤ޤ

          nil Ǥ̵뤵ޤޤ٥ȤϥȤޤ ()
          

Event

   ٥Ȥݥ饹Ǥ

  ѡ饹

   Object

  󥯥롼ɤƤ⥸塼

   Comparable

  

   offset
