private List <Note> GetModeNotes() { var cmajNotes = Key.Major[MajorKey.C].Notes; var absoluteSemitones = new AbsoluteSemitoneList(ParentScale.Absolute.Take(7)); var parentScaleNotes = cmajNotes.GetNotes(absoluteSemitones); var result = parentScaleNotes.Rotate(ModeIndex).ToList(); return(result); }
/// <summary> /// Gets notes from a list of absolute semitones. /// </summary> /// <param name="semitones">Thje <see cref="AbsoluteSemitoneList"/>.</param> /// <returns></returns> public NotesList GetNotes(AbsoluteSemitoneList semitones) { var noteBySemitone = semitones.IsMinor ? _flatNotes : _sharpNotes; var notes = new List <Note>(); foreach (var semitone in semitones) { var note = noteBySemitone[semitone]; notes.Add(note); } var result = new NotesList(notes); return(result); }