operator + method
Implementation
Pitch operator +(Interval interval) {
var diatonicIndex = letterIndex + interval.number - 1;
final octave = this.octave + diatonicIndex ~/ 7;
diatonicIndex %= 7;
final semitones = [0, 2, 4, 5, 7, 9, 11][diatonicIndex] + 12 * octave;
final accidentals = midiNumber + interval.semitones - semitones;
return new Pitch(
chromaticIndex: semitones, accidentalSemitones: accidentals);
}