DryWetMIDI 4.0.0 introduces API for working with MIDI devices. Now it is possible to send MIDI data to and receive it from a MIDI device. Also added methods to play MIDI files and capture incoming events from a device.
Read about working with devices on the library Wiki:
Small changes and bug fixes
- Added GetTimedEventsAndNotes and GetNotesAndRests extension methods for TrackChunk and MidiFile.
- Added conversion notes to/from CSV.
- Added Parse/TryParse methods to FourBitNumber and SevenBitNumber.
- Added ShiftEvents extension methods for TrackChunk and MidiFile which shifts MIDI events inside MidiFile by the specified distance.
- Implemented resizing notes by ratio.
- Added Resize extension method for MidiFile which resizes MidiFile to the specified length or by specified ratio (for example, 0.5 means shrinking to the half of the original length).
- Implemented splitting notes/chords at distance.
- Added GetChords extension method for IEnumerable<Note> which makes chords from notes collection.
- Added new MIDI events classes: system common and system real-time.
- Fixed last chord missing on chords collection.