Sha256: 93edf73983eec024989ba6aab77cb581663b38c1f77080c7dc09d0dc66997d26

Contents?: true

Size: 413 Bytes

Versions: 5

Compression:

Stored size: 413 Bytes

Contents

module Music
module Transcription
module Parsing
  class PitchNode < Treetop::Runtime::SyntaxNode
    def to_pitch
      
      sem = pitch_letter.to_semitone
      unless mod.empty?
        sem += case mod.text_value
        when "#" then 1
        when "b" then -1
        end
      end
      oct = octn.text_value.to_i
      Music::Transcription::Pitch.new(semitone: sem, octave: oct)
    end
  end
end
end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
music-transcription-0.15.0 lib/music-transcription/parsing/pitch_node.rb
music-transcription-0.14.0 lib/music-transcription/parsing/pitch_node.rb
music-transcription-0.13.0 lib/music-transcription/parsing/pitch_node.rb
music-transcription-0.11.0 lib/music-transcription/parsing/pitch_node.rb
music-transcription-0.10.0 lib/music-transcription/parsing/pitch_node.rb