/// <summary> /// ピッチをrhsと比較する。 /// </summary> /// <param name="rhs"></param> /// <returns> /// rhsよりも自分のほうが低い: 負 /// rhsよりも自分のほうが高い: 正 /// 自分とrhsとが同じピッチ: 0 /// </returns> public int CompareTo(LetterName rhs) { int me = ToFreqIndex(); int you = rhs.ToFreqIndex(); if (me < you) { return(-1); } else if (you < me) { return(1); } else { return(0); } }
/// <summary> /// オクターブを考慮したC-1からの半音の数。 /// </summary> public int GetMidiPitchValue() { return((octave + 1) * 12 + LetterName.ToFreqIndex()); }
private int GetMidiPitchValue() { return(letterName.ToFreqIndex() + 12 * (octave + 1)); }