DryWetMIDI 1.3.0
Pattern
DryWetMIDI provides now a way to program music compositions based on MIDI. The PatternBuilder
allows to insert notes, chords and another Pattern
objects built with the PatternBuilder
. See more details in the Pattern page of the library Wiki.
A quick example of what you can do with patterns:
Pattern pattern = new PatternBuilder()
// Insert a pause of 5 seconds
.StepForward(new MetricLength(0, 0, 5))
// Insert an eighth C# note of the 4th octave
.Note(OctaveDefinition.Get(4).CSharp, (MusicalLength)MusicalFraction.Eighth)
// Set default note length to triplet eighth and default octave to 5
.SetNoteLength((MusicalLength)MusicalFraction.EighthTriplet)
.SetOctave(5)
// Now we can add triplet eighth notes of the 5th octave in a simple way
.Note(NoteName.A)
.Note(NoteName.B)
.Note(NoteName.GSharp)
// Get pattern
.Build();
MidiFile midiFile = pattern.ToFile(TempoMap.Default);
Minor changes
- Added
MathTime
andMathLength
. - Added ability to manage new tempo map.
- Added ability to replace existing tempo map with another one.
- Added
Channel
,Velocity
andOffVelocity
properties to theChord
. - Added setter to
Chord
'sLength
property. - Methods of
LengthConverter
can now takeITime
as time argument. - Removed
Equals
andGetHashCode
overridings from the event classes.
Fixed bugs
- Fixed chords search ignores channel of notes.
- Fixed wrong conversion to
MusicalTime
if time is exact start of a bar.