Class: MusicalScore::Measures
- Inherits:
-
ElementBase
show all
- Includes:
- Contracts, Enumerable
- Defined in:
- lib/musical_score/measures.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from ElementBase
create_by_hash, create_by_xml, #export_xml
Constructor Details
#initialize(measures) ⇒ Measures
Returns a new instance of Measures.
10
11
12
|
# File 'lib/musical_score/measures.rb', line 10
def initialize(measures)
@measures = measures
end
|
Instance Attribute Details
#measures ⇒ Object
Returns the value of attribute measures.
7
8
9
|
# File 'lib/musical_score/measures.rb', line 7
def measures
@measures
end
|
Instance Method Details
#[](index) ⇒ Object
14
15
16
|
# File 'lib/musical_score/measures.rb', line 14
def [](index)
return @measures[index]
end
|
#all_notes ⇒ Object
28
29
30
31
32
33
34
|
# File 'lib/musical_score/measures.rb', line 28
def all_notes
result = Array.new
@measures.each do |measure|
result.concat(measure)
end
return result
end
|
#each ⇒ Object
18
19
20
21
22
|
# File 'lib/musical_score/measures.rb', line 18
def each
@measures.each do |measure|
yield measure
end
end
|
#last ⇒ Object
24
25
26
|
# File 'lib/musical_score/measures.rb', line 24
def last
return @measures[@measures.size-1]
end
|
#set_location ⇒ Object
36
37
38
39
40
41
42
43
44
|
# File 'lib/musical_score/measures.rb', line 36
def set_location
current_location = Rational(0)
@measures.each do |measure|
number = measure.number
measure.notes.set_location(current_location, number)
current_location += measure.notes.duration
measure.length = measure.notes.duration
end
end
|