Class: Webern::Row

Inherits:
Array
  • Object
show all
Defined in:
lib/webern/row.rb

Instance Method Summary collapse

Constructor Details

#initialize(*row) ⇒ Row

Returns a new instance of Row.



3
4
5
6
# File 'lib/webern/row.rb', line 3

def initialize(*row)
  @row = row 
  replace complete_row
end

Instance Method Details

#draw(opts = {}) ⇒ Object



40
41
42
# File 'lib/webern/row.rb', line 40

def draw(opts={})
  Webern::Formatters::TextFormatter.new(self, opts).draw
end

#inversionObject



16
17
18
# File 'lib/webern/row.rb', line 16

def inversion
  Row.new *self.map{|i| (12 - i) % 12}
end

#primeObject



12
13
14
# File 'lib/webern/row.rb', line 12

def prime
  Row.new *self
end

#retrogradeObject



20
21
22
# File 'lib/webern/row.rb', line 20

def retrograde
  Row.new *self.reverse
end

#retrograde_inversionObject



24
25
26
# File 'lib/webern/row.rb', line 24

def retrograde_inversion
  Row.new *self.retrograde.inversion
end

#transpose(distance) ⇒ Object



28
29
30
# File 'lib/webern/row.rb', line 28

def transpose(distance)
  Row.new *self.map{|i| (i + distance) % 12 }
end

#write(format, opts = {}) ⇒ Object



36
37
38
# File 'lib/webern/row.rb', line 36

def write(format, opts={})
  Webern::Formatters.formatter(format).new(self, opts).write_to_file
end

#zeroObject



32
33
34
# File 'lib/webern/row.rb', line 32

def zero
  Row.new *self.map{|i| (i + 12 - self[0]) % 12}
end

#zero!Object



8
9
10
# File 'lib/webern/row.rb', line 8

def zero!
  replace zero
end