Class: MIDI::Measure
- Inherits:
-
Object
- Object
- MIDI::Measure
- Defined in:
- lib/midilib/measure.rb
Overview
The Measure class contains information about a measure from the sequence. The measure data is based on the time signature information from the sequence and is not stored in the sequence itself
Instance Attribute Summary collapse
-
#denominator ⇒ Object
readonly
The denominator for the measure’s time signature.
-
#end ⇒ Object
readonly
End clock tick for the measure (inclusive).
-
#measure_number ⇒ Object
readonly
The measure number (1-based).
-
#metronome_ticks ⇒ Object
readonly
The metronome tick for the measure.
-
#numerator ⇒ Object
readonly
The numerator (top digit) for the measure’s time signature.
-
#start ⇒ Object
readonly
Start clock tick for the measure.
Instance Method Summary collapse
-
#contains_event?(e) ⇒ Boolean
Returns
true
if the event is in the measure. -
#initialize(meas_no, start_time, duration, numer, denom, met_ticks) ⇒ Measure
constructor
Constructor.
-
#to_s ⇒ Object
Returns a detailed string with information about the measure.
Constructor Details
#initialize(meas_no, start_time, duration, numer, denom, met_ticks) ⇒ Measure
Constructor
22 23 24 25 26 27 28 29 |
# File 'lib/midilib/measure.rb', line 22 def initialize(meas_no, start_time, duration, numer, denom, met_ticks) @measure_number = meas_no @start = start_time @end = start_time + duration - 1 @numerator = numer @denominator = denom @metronome_ticks = met_ticks end |
Instance Attribute Details
#denominator ⇒ Object (readonly)
The denominator for the measure’s time signature
11 12 13 |
# File 'lib/midilib/measure.rb', line 11 def denominator @denominator end |
#end ⇒ Object (readonly)
End clock tick for the measure (inclusive)
15 16 17 |
# File 'lib/midilib/measure.rb', line 15 def end @end end |
#measure_number ⇒ Object (readonly)
The measure number (1-based)
17 18 19 |
# File 'lib/midilib/measure.rb', line 17 def measure_number @measure_number end |
#metronome_ticks ⇒ Object (readonly)
The metronome tick for the measure
19 20 21 |
# File 'lib/midilib/measure.rb', line 19 def metronome_ticks @metronome_ticks end |
#numerator ⇒ Object (readonly)
The numerator (top digit) for the measure’s time signature
9 10 11 |
# File 'lib/midilib/measure.rb', line 9 def numerator @numerator end |
#start ⇒ Object (readonly)
Start clock tick for the measure
13 14 15 |
# File 'lib/midilib/measure.rb', line 13 def start @start end |
Instance Method Details
#contains_event?(e) ⇒ Boolean
Returns true
if the event is in the measure
39 40 41 |
# File 'lib/midilib/measure.rb', line 39 def contains_event?(e) (e.time_from_start >= @start) && (e.time_from_start <= @end) end |
#to_s ⇒ Object
Returns a detailed string with information about the measure
32 33 34 35 36 |
# File 'lib/midilib/measure.rb', line 32 def to_s t = "#{@numerator}/#{2**@denominator}" m = @metronome_ticks.to_f / 24 "measure #{@measure_number} #{@start}-#{@end} #{t} #{m} qs metronome" end |