Class: HeadMusic::Time::MeterEvent

Inherits:
Object
  • Object
show all
Defined in:
lib/head_music/time/meter_event.rb

Overview

Represents a meter change at a specific musical position

MeterEvent marks a point in a musical timeline where the meter (time signature) changes. This is essential for properly calculating musical positions and normalizing bar:beat:tick:subtick values.

Examples:

Creating a meter change to 3/4 at bar 5

position = HeadMusic::Time::MusicalPosition.new(5, 1, 0, 0)
meter = HeadMusic::Rudiment::Meter.get("3/4")
event = HeadMusic::Time::MeterEvent.new(position, meter)

With common time

position = HeadMusic::Time::MusicalPosition.new(1, 1, 0, 0)
meter = HeadMusic::Rudiment::Meter.common_time
event = HeadMusic::Time::MeterEvent.new(position, meter)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(position, meter) ⇒ MeterEvent

Create a new meter change event

Parameters:



31
32
33
34
# File 'lib/head_music/time/meter_event.rb', line 31

def initialize(position, meter)
  @position = position
  @meter = meter
end

Instance Attribute Details

#meterHeadMusic::Rudiment::Meter, String

Returns the meter (time signature).

Returns:



25
26
27
# File 'lib/head_music/time/meter_event.rb', line 25

def meter
  @meter
end

#positionMusicalPosition

Returns the position where this meter change occurs.

Returns:



22
23
24
# File 'lib/head_music/time/meter_event.rb', line 22

def position
  @position
end