示例#1
0
文件: NoteBuilder.cs 项目: mowie2/DPA
 private void Clear()
 {
     this.dotted   = 0;
     this.duration = 0;
     this.semitone = DomainModel.Semitone.SEMITONE.NORMAL;
     this.pitch    = "";
 }
示例#2
0
文件: NoteBuilder.cs 项目: mowie2/DPA
 public NoteBuilder()
 {
     this.semitone        = DomainModel.Semitone.SEMITONE.NORMAL;
     this.dotted          = 0;
     this.duration        = 0;
     this.ocataveModifier = 0;
     this.semitone        = Semitone.SEMITONE.NORMAL;
 }
示例#3
0
        private int calculatePitch(string pitch, int octave, Clef clef, Semitone.SEMITONE semitone)
        {
            Dictionary <string, int> pitchDictionary = new Dictionary <string, int>()
            {
                { "c", 0 },
                { "d", 2 },
                { "e", 4 },
                { "f", 5 },
                { "g", 7 },
                { "a", 9 },
                { "b", 11 }
            };
            int midiKey;

            pitchDictionary.TryGetValue(pitch, out midiKey);
            if (semitone == Semitone.SEMITONE.MINOR)
            {
                midiKey++;
            }
            if (semitone == Semitone.SEMITONE.MAJOR)
            {
                midiKey--;
            }
            midiKey += (octave - 2) * 12;
            int test = midiKey + 60;

            if (test < 0)
            {
                return(0);
            }
            if (test > 127)
            {
                return(0);
            }
            return(midiKey + 60);
        }
示例#4
0
文件: NoteBuilder.cs 项目: mowie2/DPA
 public void SetSemitone(Semitone.SEMITONE semitone)
 {
     this.semitone = semitone;
 }