
   #index

                                SMF モジュール

クラス

     * Sequence <format, division>
     * 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 <..., 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

   シーケンスを表現するクラスです。シーケンスはトラックをもちます。

  スーパークラス

   Object

  クラスメソッド

   decode(str)
          文字列から読みこみます。

   decodeio(io)
          IO から読みこみます。

   decodefile(fn)
          ファイルから読みこみます。

   new([format=1[, division=96]])
          シーケンスオブジェクトを作成します。

  アクセサ

   format
   division

  メソッド

   length
   size
          要素数を返します。

   ntrks
          要素数を返します。

          nil の要素は勘定しません。

   self << tr
          末尾に追加します。

   self >> tr
          要素を除きます。

   push(tr)
          末尾に追加します。

   pop
          末尾の要素を取り除きます。

   unshift(tr)
          先頭に追加します。

   shift
          先頭の要素を取り除きます。

   self[n]
          n 番目の要素を返します。

   self[n]=tr
          n 番目の要素を変更します。

   each{|tr| ...}
          要素について繰り返します。

          nil の要素は無視されます。

   encode
          文字列に書きます。

          もし、トラックに EOT がなければ、 トラックの最後にデルタ零の
          EOT を追加します。

   encodeio(io)
          IO に書きます。

   encodefile(fn)
          ファイルに書きます。

Track

   トラックを表現するクラスです。トラックはイベントをもちます。

  スーパークラス

   Object

  クラスメソッド

   new
          トラックオブジェクトを作成します。

  メソッド

   length
   size
          要素数を返します。

   nevts
          要素数を返します。

          nil の要素は勘定しません。

   self << ev
          末尾に追加します。

   self >> ev
          要素を除きます。

   push(ev)
          末尾に追加します。

   pop
          末尾の要素を取り除きます。

   unshift(ev)
          先頭に追加します。

   shift
          先頭の要素を取り除きます。

   self[n]
          n 番目の要素を返します。

   self[n]=ev
          n 番目の要素を変更します。

   each{|ev| ...}
          要素について繰り返します。

          nil の要素は無視されます。また、イベントはソートされます。

Event

   イベントの抽象クラスです。

  スーパークラス

   Object

  インクルードしているモジュール

   Comparable

  アクセサ

   offset
