示例#1
0
        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;
                }
            }
        }