MusicalLength available now. This length class gives ability to specify lengths of objects in terms of fractions of the whole note length, for example, 1/8. You can learn more in Length section of the project's Wiki.
Added new extension methods for managing of timed events, notes and chords: ProcessTimedEvents, RemoveTimedEvents, ProcessNotes, RemoveNotes, ProcessChords, RemoveChords.
Read and Write methods of the MidiFile can now take a Stream as an argument to read/write MIDI file.
MetricTime and MetricLength now implement IFormattable so you can use them in string.Format or during string interpolation with format strings supported by TimeSpan.
SevenBitNumber and FourBitNumber now implement IComparable<SevenBitNumber> and IComparable<FourBitNumber> respectively so they can be used as key in OrderBy for example.
Fixed bugs and improvements
Fixed #2: Non-ASCII encoding is not supported by text-based meta events.
Fixed invalid combining of LSB and MSB in PitchValue of PitchBendEvent.
Fixed null notes were not filtered out in Chord's constructor.
Fixed Time was set to 0 by Chord's constructor that takes only notes as an argument.
Improved accuracy of metric time conversion.
ToTomeSpan method of MetricTime and MetricLength was replaced with implicit cast operator.