Module: HeadMusic::Time
- Defined in:
- lib/head_music/time.rb,
lib/head_music/time/conductor.rb,
lib/head_music/time/meter_map.rb,
lib/head_music/time/tempo_map.rb,
lib/head_music/time/meter_event.rb,
lib/head_music/time/tempo_event.rb,
lib/head_music/time/clock_position.rb,
lib/head_music/time/smpte_timecode.rb,
lib/head_music/time/musical_position.rb
Overview
The Time module provides classes and methods to handle representations of musical time and its relationship to clock time and SMPTE Time Code.
This module enables synchronization between three time representations:
- Clock time: elapsed nanoseconds (source of truth)
- Musical position: bars:beats:ticks:subticks notation
- SMPTE timecode: hours:minutes:seconds:frames for video/audio sync
Defined Under Namespace
Classes: ClockPosition, Conductor, MeterEvent, MeterMap, MusicalPosition, SmpteTimecode, TempoEvent, TempoMap
Constant Summary collapse
- PPQN =
Ticks per quarter note value (MIDI standard)
PULSES_PER_QUARTER_NOTE = 960
- SUBTICKS_PER_TICK =
Subticks provide finer resolution than ticks for precise timing
240