Ejemplo n.º 1
0
        public void GetBarLength_ConstantTimeSignature(long bars, int timeSignatureNumerator, int timeSignatureDenominator)
        {
            const short ticksPerQuarterNote = 100;

            var tempoMap = TempoMap.Create(new TicksPerQuarterNoteTimeDivision(ticksPerQuarterNote), new TimeSignature(timeSignatureNumerator, timeSignatureDenominator));
            var length   = BarBeatUtilities.GetBarLength(bars, tempoMap);

            Assert.AreEqual(ticksPerQuarterNote * timeSignatureNumerator * 4 / timeSignatureDenominator, length, "Bar length is invalid.");
        }
Ejemplo n.º 2
0
        public void GetBarLength_ChangedTimeSignature(long bars, int timeSignatureNumerator, int timeSignatureDenominator, bool changeOnEdge)
        {
            const short ticksPerQuarterNote = 100;

            TempoMap tempoMap;

            using (var tempoMapManager = new TempoMapManager(new TicksPerQuarterNoteTimeDivision(ticksPerQuarterNote)))
            {
                tempoMapManager.SetTimeSignature(new BarBeatTicksTimeSpan(changeOnEdge ? bars : bars - 1), new TimeSignature(timeSignatureNumerator, timeSignatureDenominator));
                tempoMap = tempoMapManager.TempoMap;
            }

            var length = BarBeatUtilities.GetBarLength(bars, tempoMap);

            Assert.AreEqual(ticksPerQuarterNote * timeSignatureNumerator * 4 / timeSignatureDenominator, length, "Bar length is invalid.");
        }