Module: Musa::Neumalang::Neumalang::Parser::DurationCalculation
- Included in:
- AbsDurationAttribute, DeltaDurationAttribute
- Defined in:
- lib/musa-dsl/neumalang/neumalang.rb
Instance Method Summary collapse
Instance Method Details
#duration ⇒ Object
225 226 227 228 229 230 231 232 233 234 235 236 237 |
# File 'lib/musa-dsl/neumalang/neumalang.rb', line 225 def duration base = capture(:number)&.value slashes = capture(:slashes)&.value || 0 base ||= Rational(1, 2**slashes.to_r) dots_extension = 0 capture(:mid_dots)&.value&.times do |i| dots_extension += Rational(base, 2**(i+1)) end base + dots_extension end |