Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// オクターブを考慮したC-1からの半音の数。
 /// </summary>
 public int GetMidiPitchValue()
 {
     return((octave + 1) * 12 + LetterName.ToFreqIndex());
 }
Esempio n. 3
0
 private int GetMidiPitchValue()
 {
     return(letterName.ToFreqIndex() + 12 * (octave + 1));
 }