/// <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)); }
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)); }