private TempoMapReadingHandler ReadWithTempoMapReadingHandler(MidiFile midiFile) { var tempoMapReadingHandler = new TempoMapReadingHandler(); MidiFileTestUtilities.ReadUsingHandlers(midiFile, tempoMapReadingHandler); return(tempoMapReadingHandler); }
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; }
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."); }
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; }