public Relation MajorityRelation(Clef clef) { var relations = Notes.Select(x => x.Note.RelationToMidpoint(clef)).ToList(); var higher = relations.Where(x => x == Relation.Higher).ToList().Count; var lower = relations.Where(x => x == Relation.Lower).ToList().Count; return(higher > lower ? Relation.Higher : (lower == higher ? Relation.Equal : Relation.Lower)); }
public ChordSection Transpose(int semitones) { var newNotes = new List <Note>(); var notes = Music.Notes.NotesInClef(Clef.Bass); foreach (var note in Notes.Select(x => x.Note)) { var idx = notes.IndexOf(note); newNotes.Add(notes[idx + semitones]); } Notes = newNotes.Select(x => new NoteViewModel(x)).ToList(); return(this); }