115
116
117
118
119
120
121
122
123
124
125
126
127
|
# File 'lib/musa-dsl/neumalang/neumalang.rb', line 115
def value
h = {}.extend Musa::Datasets::GDVd
capture(:grade)&.value&.tap { |_| h.merge! _ if _ }
capture(:octave)&.value&.tap { |_| h.merge! _ if _ }
capture(:duration)&.value&.tap { |_| h.merge! _ if _ }
capture(:velocity)&.value&.tap { |_| h.merge! _ if _ }
h[:modifiers] = {} unless captures(:modifiers).empty?
captures(:modifiers).collect(&:value).each { |_| h[:modifiers].merge! _ if _ }
{ kind: :gdvd, gdvd: h }.extend Musa::Neumas::Neuma
end
|