126
127
128
129
130
131
132
133
134
135
136
137
138
|
# File 'lib/musa-dsl/neumalang/neumalang.rb', line 126
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
|