class Coltrane::Representation::Guitar::String

Attributes

guitar[R]
pitch[R]

Public Class Methods

new(pitch, guitar:) click to toggle source
# File lib/coltrane/representation/guitar/string.rb, line 9
def initialize(pitch, guitar:)
  @guitar = guitar
  @pitch = pitch
end

Public Instance Methods

+(fret) click to toggle source
# File lib/coltrane/representation/guitar/string.rb, line 25
def +(fret)
  pitch + fret
end
find(pitch_class, possible_frets: (0..guitar.frets).to_a) click to toggle source
# File lib/coltrane/representation/guitar/string.rb, line 14
def find(pitch_class, possible_frets: (0..guitar.frets).to_a)
  output = []
  n = 0
  loop do
    f = (pitch_class.integer - pitch.integer) % 12 + 12 * n
    possible_frets.include?(f) ? output << Note.new(self, f) : break
    n += 1
  end
  output
end