Module: Musa::Neumalang::Neumalang::Parser::BracketedBarSentences Private

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

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Semantic action for parallel structure (voices separated by |).

Transforms bracketed parallel notation into Parallel structure. Used for polyphonic notation like "[0 +2 | +7 +5]".

Instance Method Summary collapse

Instance Method Details

#valueHash

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Builds parallel structure from bar-separated series.

Returns:

  • (Hash)

    parallel structure with kind :parallel



231
232
233
234
235
236
237
# File 'lib/musa-dsl/neumalang/neumalang.rb', line 231

def value
  { kind: :parallel,
    parallel: [{ kind: :serie,
                 serie: Musa::Series::Constructors.S(*capture(:aa).value) }] +
                        captures(:bb).collect { |c| { kind: :serie, serie: Musa::Series::Constructors.S(*c.value) } }
  }.extend(Musa::Neumas::Neuma::Parallel)
end