class Track
Public Class Methods
new(key, measures = [])
click to toggle source
# File lib/kuromusic/Track.rb, line 6 def initialize(key, measures = []) @key = key @measures = measures end
Public Instance Methods
+(other)
click to toggle source
# File lib/kuromusic/Track.rb, line 79 def +(other) tmp = [] if other.class.to_s == "Track" tmp.push(@measures) other.each{|e| tmp.push(e) } tmp.flatten! else self.error_puts("ArgumentTypeError", "undefined method `+'") end Track.new(@key, tmp) end
[](index)
click to toggle source
# File lib/kuromusic/Track.rb, line 11 def [](index) @measures[index] end
[]=(index, obj)
click to toggle source
# File lib/kuromusic/Track.rb, line 15 def []=(index, obj) if obj.class.to_s == "Measure" @measures[index] = obj else self.error_puts("ArgumentTypeError", "undefined method `+'") end end
each() { |e| ... }
click to toggle source
# File lib/kuromusic/Track.rb, line 50 def each() @measures.each {|e| yield(e) } end
each_with_index() { |e| ... }
click to toggle source
# File lib/kuromusic/Track.rb, line 56 def each_with_index() @measures.each {|e| yield(e) } end
insert(index, *objs)
click to toggle source
# File lib/kuromusic/Track.rb, line 23 def insert(index, *objs) objs.each {|e| if e.class.to_s != "Measure" self.error_puts("ArgumentTypeError", "undefined method `+'") end } @measures.insert(index, *objs) end
inspect()
click to toggle source
# File lib/kuromusic/Track.rb, line 93 def inspect() "[ Track Meta: < key = #{@key} > ---------------------------------------------------------- " + @measures.each_with_index.map{|m, i| "Measure #{i+1}:\n" + m.inspect(@key) }.join("\n ----------------------------------------------------------\n ") + " ]" end
length()
click to toggle source
# File lib/kuromusic/Track.rb, line 75 def length() @measure.length end
map() { |e| ... }
click to toggle source
# File lib/kuromusic/Track.rb, line 62 def map() result = @measures.map {|e| yield(e) } Track.new(result) end
map!() { |e| ... }
click to toggle source
# File lib/kuromusic/Track.rb, line 69 def map!() @measures.map! {|e| yield(e) } end
push(obj)
click to toggle source
# File lib/kuromusic/Track.rb, line 32 def push(obj) if obj.class.to_s == "Measure" @measures.push(obj) else self.error_puts("ArgumentTypeError", "undefined method `+'") end self end
unshift(obj)
click to toggle source
# File lib/kuromusic/Track.rb, line 41 def unshift(obj) if obj.class.to_s == "Measure" @measures.unshift(obj) else self.error_puts("ArgumentTypeError", "undefined method `+'") end self end