высота ноты
Inheritance: IBaseObject
コード例 #1
0
 public void PitchConstructorTest()
 {
     var initialPitch = new Pitch(1, 'A', 0);
     var midiNumberPitch = new Pitch(initialPitch.MidiNumber);
     Assert.AreEqual(initialPitch.MidiNumber, midiNumberPitch.MidiNumber);
     initialPitch = new Pitch(5, 'C', 1);
     midiNumberPitch = new Pitch(initialPitch.MidiNumber);
     Assert.AreEqual(initialPitch.MidiNumber, midiNumberPitch.MidiNumber);
 }
コード例 #2
0
        public void GetStepFromMidiNumberTest()
        {
            var initialPitch = new Pitch(1, 'A', 0);
            var step = MidiNumberManager.StepToNoteSymbol(MidiNumberManager.GetStepFromMidiNumber(initialPitch.MidiNumber));
            Assert.AreEqual(initialPitch.Step, step);

            initialPitch = new Pitch(5, 'C', 1);
            step = MidiNumberManager.StepToNoteSymbol(MidiNumberManager.GetStepFromMidiNumber(initialPitch.MidiNumber));
            Assert.AreEqual(initialPitch.Step, step);
        }
コード例 #3
0
        public void GetOctaveFromMidiNumberTest()
        {
            var initialPitch = new Pitch(1, 'A', 0);
            var octave = MidiNumberManager.GetOctaveFromMidiNumber(initialPitch.MidiNumber);
            Assert.AreEqual(initialPitch.Octave, octave);

            initialPitch = new Pitch(5, 'C', 1);
            octave = MidiNumberManager.GetOctaveFromMidiNumber(initialPitch.MidiNumber);
            Assert.AreEqual(initialPitch.Octave, octave);
        }
コード例 #4
0
        public void GetAlterFromMidiNumberTest()
        {
            var initialPitch = new Pitch(1, 'A', 0);
            var alter = MidiNumberManager.GetAlterFromMidiNumber(initialPitch.MidiNumber);
            Assert.AreEqual(initialPitch.Alter, alter);

            initialPitch = new Pitch(5, 'C', 1);
            alter = MidiNumberManager.GetAlterFromMidiNumber(initialPitch.MidiNumber);
            Assert.AreEqual(initialPitch.Alter, alter);
        }
コード例 #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ValueNote"/> class.
        /// </summary>
        /// <param name="pitch">
        /// The pitch.
        /// </param>
        /// <param name="duration">
        /// The duration.
        /// </param>
        /// <param name="triplet">
        /// The triplet.
        /// </param>
        /// <param name="tie">
        /// The tie.
        /// </param>
        /// <param name="priority">
        /// The priority.
        /// </param>
        public ValueNote(Pitch pitch, Duration duration, bool triplet, Tie tie, int priority = -1)
        {
            Pitch = new List<Pitch>(0);

            // если не пауза то записываем высоту и наличие лиги
            if (pitch != null)
            {
                Pitch.Add((Pitch)pitch.Clone());
                Tie = tie;
            }
            else
            {
                // если нота - пауза, то не может быть лиги на паузу
                Tie = Tie.None;
            }

            Duration = (Duration)duration.Clone();
            Triplet = triplet;

            // приоритет если указан
            Priority = priority;
        }
コード例 #6
0
        /// <summary>
        /// The add pitch.
        /// </summary>
        /// <param name="pitch">
        /// The pitch.
        /// </param>
        /// <exception cref="ArgumentNullException">
        /// Thrown if pitch is null.
        /// </exception>
        public void AddPitch(Pitch pitch)
        {
            if (pitch == null)
            {
                throw new ArgumentNullException("pitch");
            }

            Pitch.Add(pitch);
        }