Module: Musa::Neumalang::Neumalang::Parser::DeltaGradeAttribute

Defined in:
lib/musa-dsl/neumalang/neumalang.rb

Instance Method Summary collapse

Instance Method Details

#valueObject



172
173
174
175
176
177
178
179
180
181
182
183
184
185
# File 'lib/musa-dsl/neumalang/neumalang.rb', line 172

def value

  value = {}

  sign = capture(:sign)&.value || 1

  value[:delta_grade] = capture(:grade).value * sign if capture(:grade)
  value[:delta_sharps] = capture(:accidentals).value * sign if capture(:accidentals)

  value[:delta_interval] = capture(:interval).value if capture(:interval)
  value[:delta_interval_sign] = sign if capture(:interval) && capture(:sign)

  value
end