예제 #1
0
        public void Lyrics_Single()
        {
            var pattern = new PatternBuilder()

                          .Note(NoteName.A)
                          .Lyrics("A")

                          .Build();

            PatternTestUtilities.TestTimedEvents(pattern, new[]
            {
                new TimedEventInfo(new LyricEvent("A"), MusicalTimeSpan.Quarter)
            });
        }
예제 #2
0
        public void Marker_Single()
        {
            var pattern = new PatternBuilder()

                          .Note(NoteName.A)
                          .Marker("Marker 1")

                          .Build();

            PatternTestUtilities.TestTimedEvents(pattern, new[]
            {
                new TimedEventInfo(new MarkerEvent("Marker 1"), MusicalTimeSpan.Quarter)
            });
        }
예제 #3
0
        public void Marker_Repeat()
        {
            const string markerName = "Marker";

            var pattern = new PatternBuilder()

                          .Note(NoteName.A)
                          .Marker(markerName)
                          .Repeat(2, 1)

                          .Build();

            PatternTestUtilities.TestTimedEvents(pattern, new[]
            {
                new TimedEventInfo(new MarkerEvent(markerName), MusicalTimeSpan.Quarter),
                new TimedEventInfo(new MarkerEvent(markerName), MusicalTimeSpan.Half)
            });
        }
        public void ProgramChange_Number()
        {
            var programNumber = (SevenBitNumber)10;
            var eventTime     = MusicalTimeSpan.Quarter;

            var pattern = new PatternBuilder()

                          .Note(NoteName.A, eventTime)
                          .ProgramChange(programNumber)

                          .Build();

            PatternTestUtilities.TestTimedEvents(pattern, new[]
            {
                new TimedEventInfo(new ProgramChangeEvent(programNumber)
                {
                    Channel = PatternTestUtilities.Channel
                }, eventTime)
            });
        }
        public void ProgramChange_GeneralMidi2Program()
        {
            var eventsTime = MusicalTimeSpan.Quarter;

            var bankMsbControlNumber = ControlName.BankSelect.AsSevenBitNumber();
            var bankMsb = (SevenBitNumber)0x79;

            var bankLsbControlNumber = ControlName.LsbForBankSelect.AsSevenBitNumber();
            var bankLsb = (SevenBitNumber)0x03;

            var generalMidiProgram  = GeneralMidiProgram.BirdTweet;
            var generalMidi2Program = GeneralMidi2Program.BirdTweet2;

            var pattern = new PatternBuilder()

                          .Note(NoteName.A, eventsTime)
                          .ProgramChange(generalMidi2Program)

                          .Build();

            PatternTestUtilities.TestTimedEvents(pattern, new[]
            {
                new TimedEventInfo(new ControlChangeEvent(bankMsbControlNumber, bankMsb)
                {
                    Channel = PatternTestUtilities.Channel
                }, eventsTime),
                new TimedEventInfo(new ControlChangeEvent(bankLsbControlNumber, bankLsb)
                {
                    Channel = PatternTestUtilities.Channel
                }, eventsTime),
                new TimedEventInfo(new ProgramChangeEvent(generalMidiProgram.AsSevenBitNumber())
                {
                    Channel = PatternTestUtilities.Channel
                }, eventsTime),
            });
        }