Пример #1
0
        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);
        }
Пример #2
0
        /// <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);
        }