private static IEnumerable <NoteNode> FindNodes(InternalNote targetNote, IScaleFinderOptions scaleFinderOptions) { for (int str = 0; str < scaleFinderOptions.Instrument.NumStrings; str++) { InternalNote rootNote = scaleFinderOptions.Tuning.RootNotes[str].InternalNote; int fret = NoteUtils.GetShift(rootNote, targetNote); while (fret <= scaleFinderOptions.MaxFret) { yield return(new NoteNode(str, fret, targetNote, null)); fret += 12; } } }