     for fingering in fingerings
       fretted_strings[fingering.string] = true
       draw_fingering fingering, fingering
-    for string_number in strings
+    for string_number in StringNumbers
       continue if fretted_strings[string_number]
       ctx.font = '4pt Helvetica'
       ctx.fillStyle = 'black'

  fingerings = (f for f in fingerings when f == bass_root or f.string < bass_root.string)
  # Select the lowest fret per string
  # TODO only if each note is represented
  for string in strings
    fret = (f.fret for f in fingerings when f.string == string).sort()[0]
    fingerings = (f for f in fingerings when f.string != string or f.fret == fret)
  return fingerings

#
# Fretboard
#
StringNumbers = [1..6]
StringCount = StringNumbers.length

FretNumbers = [0..4]  # includes nuNumbert
FretCount = FretNumbers.length - 1  # doesn't include nuNumbert

StringIntervals = [5, 5, 5, 4, 5]
StringNoteNumbers = (->
