Skip to content

DryWetMIDI 6.1.0

Compare
Choose a tag to compare
@melanchall melanchall released this 16 May 11:08
· 178 commits to master since this release
ab84ef6

This release focuses on unifying API to work with different MIDI objects.

Tools

First of all, new tool added – Repeater. It allows repeat MIDI data specified number of times with different options applied.

Also, some old tools were unified into single ones:

  • TimedEventsQuantizer, NotesQuantizer and ChordsQuantizer have been replaced by new Quantizer tool which can quantize objects of different types simultaneously. More than that, it can now quantize start and end times at the same time, applying randomization if specified (and thus Randomizer tool is now obsolete). More info in the Quantizer article.
  • NotesSplitter and ChordsSplitter have been replaced by new Splitter tool which can split objects of different types simultaneously. Also all methods from MidiFileSplitter class have been moved to the Splitter one. More info in the Splitter articles.

Objects managers

Also the work has been done on unifying separate manager classes for each object type. So now TimedEventsManager, NotesManager and ChordsManager classes are now obsolete. You should use TimedObjectsManager class now which can manage objects of different types simultaneously. More info in the Objects managers article.

New features and improvements

Small changes and bug fixes

  • Added new total properties for MetricTimeSpan (#144).
  • Handled big internal values within time spans conversions.
  • Fixed: NotEnoughBytesPolicy is ignored on reading some events.
  • Fixed: TrackChunk is written on saving to SingleTrack format even if there are no track chunks in a file.
  • Fixed: PInvokeStackImbalance exception on native calls in 32-bit app (#142).
  • Fixed: Native binaries are visible in IDE solution explorer (#158).
  • Fixed: Playback position jumps on speed changing.
  • Fixed: GetObjects methods sometimes return not all objects if uncompleted chord encountered.