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