class Webern::Row

Public Class Methods

new(*row) click to toggle source
# File lib/webern/row.rb, line 3
def initialize(*row)
  @row = row 
  replace complete_row
end

Public Instance Methods

draw(opts={}) click to toggle source
# File lib/webern/row.rb, line 40
def draw(opts={})
  Webern::Formatters::TextFormatter.new(self, opts).draw
end
inversion() click to toggle source
# File lib/webern/row.rb, line 16
def inversion
  Row.new *self.map{|i| (12 - i) % 12}
end
prime() click to toggle source
# File lib/webern/row.rb, line 12
def prime
  Row.new *self
end
retrograde() click to toggle source
# File lib/webern/row.rb, line 20
def retrograde
  Row.new *self.reverse
end
retrograde_inversion() click to toggle source
# File lib/webern/row.rb, line 24
def retrograde_inversion
  Row.new *self.retrograde.inversion
end
transpose(distance) click to toggle source
# File lib/webern/row.rb, line 28
def transpose(distance)
  Row.new *self.map{|i| (i + distance) % 12 }
end
write(format, opts={}) click to toggle source
# File lib/webern/row.rb, line 36
def write(format, opts={})
  Webern::Formatters.formatter(format).new(self, opts).write_to_file
end
zero() click to toggle source
# File lib/webern/row.rb, line 32
def zero
  Row.new *self.map{|i| (i + 12 - self[0]) % 12}
end
zero!() click to toggle source
# File lib/webern/row.rb, line 8
def zero!
  replace zero
end

Private Instance Methods

complete_row() click to toggle source
# File lib/webern/row.rb, line 46
def complete_row
  missing = Array(0..11) - @row
  @row + missing
end