fbpx
Skip to main content

MIDI Forum

DryWetMIDI 3.0.0 / ...
 
Notifications
Clear all

DryWetMIDI 3.0.0 / .NET library to work with MIDI files

1 Posts
1 Users
0 Reactions
11 K Views
Max Dobroselsky
Posts: 65
Estimable Member
Topic starter
 

DryWetMIDI 3.0.0 has been released.

New features

  • Added tools to perform complex tasks. Please read Tools section of the library Wiki to learn more and check Melanchall.DryWetMidi.Tools namespace. These tools are notes/chords splitter, quantizer, randomizer.
  • Added music theory API. Check Melanchall.DryWetMidi.MusicTheory namespace. Also NoteDefinition, IntervalDefinition and OctaveDefinition classes were renamed to Note, Interval and Octave respectively and moved to this new namespace.
  • Added General MIDI Level 1/2 support API. Check Melanchall.DryWetMidi.Standards namespace.
  • Added SetProgram method to PatternBuilder class. This method can be used in conjunction with the new GM 1/2 support API mentioned above.
  • Added AddNotes, AddChords and AddTimedEvents methods to TimedEventsManagingUtilities, NotesManagingUtilities and ChordsManagingUtilities classes respectively.
  • Added ToFile and ToTrackChunk methods to TimedEventsManagingUtilities, NotesManagingUtilities and ChordsManagingUtilities classes respectively.
  • Added Clone method to Note, Chord and TimedEvent classes.
  • Added TimeAs and LengthAs non-generic methods where the desired type of result should be passed as an argument of the TimeSpanType type. Added non-generic versions of methods inside TimeConverter and LengthConverter classes that take TimeSpanType too.
  • Implemented IComparable, IComparable and IEquatable on time span classes.
  • Added MakeNotes method to the NotesManagingUtilities class which iterates through the specified collection of TimedEvent returning Note for Note On/Note Off events pairs and original TimedEvent for all other events.

Minor changes

  • Time and length conversions between different representations were significantly speeded up.
  • Eliminated unnecessary resorting in ValueLine.Values getter.
  • Eliminated reordering in GetNotes, GetChords and GetTimedEvents methods.
  • FourBitNumber and SevenBitNumber moved to the Melanchall.DryWetMidi.Common namespace.
 
Posted : 11/06/2018 8:51 am
Share: