Exemplo n.º 1
0
        private TempoMapReadingHandler ReadWithTempoMapReadingHandler(MidiFile midiFile)
        {
            var tempoMapReadingHandler = new TempoMapReadingHandler();

            MidiFileTestUtilities.ReadUsingHandlers(midiFile, tempoMapReadingHandler);
            return(tempoMapReadingHandler);
        }
Exemplo n.º 2
0
            public void ReadFileWithTempoMapReadingHandler()
            {
                var handler  = new TempoMapReadingHandler();
                var settings = new ReadingSettings();

                settings.ReadingHandlers.Add(handler);

                var midiFile = MidiFile.Read(TestFilesProvider.GetMiscFile_14000events(), settings);
                var tempoMap = handler.TempoMap;
            }
Exemplo n.º 3
0
        public void CheckTempoMapReadingHandler_MultipleTrackChunks_DontAllowTempoMapUsageDuringReading_AccessDuringReading()
        {
            var timeDivision = new TicksPerQuarterNoteTimeDivision(100);
            var handler      = new TempoMapReadingHandler();

            var exceptionThrown = false;

            try
            {
                var tempoMap = handler.TempoMap;
            }
            catch (InvalidOperationException)
            {
                exceptionThrown = true;
            }

            MidiFileTestUtilities.ReadUsingHandlers(
                new MidiFile(
                    new TrackChunk(
                        new NoteOnEvent(),
                        new SetTempoEvent(100000),
                        new SetTempoEvent(150000)
            {
                DeltaTime = 50
            },
                        new SetTempoEvent(200000),
                        new NoteOffEvent()
            {
                DeltaTime = 100
            },
                        new TimeSignatureEvent(3, 4)),
                    new TrackChunk(
                        new SetTempoEvent(300000)
            {
                DeltaTime = 50
            },
                        new TimeSignatureEvent(5, 8)
            {
                DeltaTime = 1000
            }))
            {
                TimeDivision = timeDivision
            },
                handler);

            Assert.IsTrue(exceptionThrown, "Exception was not thrown on get during read.");
            Assert.DoesNotThrow(() => { var tempoMap = handler.TempoMap; }, "Exception thrown on get after read.");
        }
Exemplo n.º 4
0
            private void ReadFileWithReadingHandlers(bool sortObjects)
            {
                var notesReadingHandler       = new NotesReadingHandler(sortObjects);
                var timedEventsReadingHandler = new TimedEventsReadingHandler(sortObjects);
                var tempoMapReadingHandler    = new TempoMapReadingHandler();

                var settings = new ReadingSettings();

                settings.ReadingHandlers.Add(notesReadingHandler);
                settings.ReadingHandlers.Add(timedEventsReadingHandler);
                settings.ReadingHandlers.Add(tempoMapReadingHandler);

                var midiFile    = MidiFile.Read(TestFilesProvider.GetMiscFile_14000events(), settings);
                var tempoMap    = tempoMapReadingHandler.TempoMap;
                var timedEvents = timedEventsReadingHandler.TimedEvents;
                var notes       = notesReadingHandler.Notes;
            }