Example #1
0
        /// <summary>
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static Key GetParalel(Key key)
        {
            var note        = key.IsMoll() ? (int)key.SubDominant : (int)key.Note - 3;
            var paralelTone = key.IsMoll() ? Tone.Dur : Tone.Moll;

            return(new Key(NoteFactory.Create(note), paralelTone));
        }
Example #2
0
        public static Key GetPrev(Key key)
        {
            const int prevNoteOffset = -7;
            var       nextNoteVal    = (int)key.Note;

            nextNoteVal += prevNoteOffset;
            var nextNote = NoteFactory.Create(nextNoteVal);

            return(new Key(nextNote, key.Tone));
        }