Class: String

Inherits:
Object show all
Defined in:
lib/musa-dsl/neumas/string-to-neumas.rb,
lib/musa-dsl/neumas/string-to-neumas.rb,
lib/musa-dsl/neumas/string-to-neumas.rb,
lib/musa-dsl/neumas/string-to-neumas.rb,
lib/musa-dsl/neumas/string-to-neumas.rb,
lib/musa-dsl/neumas/string-to-neumas.rb

Instance Method Summary collapse

Instance Method Details

#n(decode_with: nil, debug: nil) ⇒ Object

Note:

This method is added to String via refinement. Requires using Musa::Extension::Neumas.

Short alias for to_neumas.

See Also:



233
# File 'lib/musa-dsl/neumas/string-to-neumas.rb', line 233

class ::String; end

#neumas(decode_with: nil, debug: nil) ⇒ Object

Note:

This method is added to String via refinement. Requires using Musa::Extension::Neumas.

Alias for to_neumas.

See Also:



223
# File 'lib/musa-dsl/neumas/string-to-neumas.rb', line 223

class ::String; end

#nn(decode_with: nil, debug: nil) ⇒ Object

Note:

This method is added to String via refinement. Requires using Musa::Extension::Neumas.

Short alias for to_neumas_to_node.

See Also:



243
# File 'lib/musa-dsl/neumas/string-to-neumas.rb', line 243

class ::String; end

#to_neumas(decode_with: nil, debug: nil) ⇒ Serie, Array

Note:

This method is added to String via refinement. Requires using Musa::Extension::Neumas.

Parses neuma notation string to structured neumas.

Uses Neumalang parser to convert text notation into GDVD (differential) neuma objects that can be decoded to GDV events.

Examples:

Parse simple melody

using Musa::Extension::Neumas
neumas = "(0) (+2) (+2) (-1) (0)".to_neumas

Parse with immediate decoding

using Musa::Extension::Neumas
# Create a simple decoder
decoder = Musa::Neumas::Decoders::NeumaDifferentialDecoder.new
result = "(0) (+2) (+2) (-1) (0)".to_neumas(decode_with: decoder)

Parse with debug

using Musa::Extension::Neumas
neumas = "(0) (+2) (+2)".to_neumas(debug: true)

Parameters:

  • decode_with (Decoder, nil) (defaults to: nil)

    optional decoder to apply immediately

  • debug (Boolean, nil) (defaults to: nil)

    enable debug output from parser

Returns:

  • (Serie, Array)

    parsed neuma series or array



168
# File 'lib/musa-dsl/neumas/string-to-neumas.rb', line 168

class ::String; end

#to_neumas_to_node(decode_with: nil, debug: nil) ⇒ Node

Note:

This method is added to String via refinement. Requires using Musa::Extension::Neumas.

Parses neuma notation and converts to generative node.

Combines parsing with node conversion for use in generative grammars.

Examples:

Convert to node for generative grammar

using Musa::Extension::Neumas
node = "(0) (+2) (+2) (-1) (0)".to_neumas_to_node

Parameters:

  • decode_with (Decoder, nil) (defaults to: nil)

    optional decoder to apply

  • debug (Boolean, nil) (defaults to: nil)

    enable debug output

Returns:

  • (Node)

    generative node structure

See Also:

  • Musa::Generative


189
# File 'lib/musa-dsl/neumas/string-to-neumas.rb', line 189

class ::String; end

#|(other) ⇒ Hash

Note:

This method is added to String via refinement. Requires using Musa::Extension::Neumas.

Creates parallel neuma structure.

Combines two neuma strings into parallel (polyphonic) structure. Both voices are parsed and wrapped in parallel container.

Examples:

Two-voice harmony

using Musa::Extension::Neumas

melody = "(0) (+2) (+4) (+5)"
bass = "(-7) (-5) (-3) (-1)"
harmony = melody | bass

Parameters:

  • other (String)

    second neuma string to parallelize

Returns:

  • (Hash)

    parallel neuma structure with two series

Raises:

  • (ArgumentError)

    if other is not a String



213
# File 'lib/musa-dsl/neumas/string-to-neumas.rb', line 213

class ::String; end