Releases: cemfi/meico
Releases · cemfi/meico
meico v0.8.12
v0.8.12
- Enhancement of the processing of MEI
tie
element. - Bugfix in method
meico.mei.Mei.processBreath()
that generated a wrong default articulation. - Bugfix in method
meico.mpm.elements.maps.ArticulationMap.renderArticulationToMap_noMillisecondModifiers()
: NullPointerException in an error message. - Optimization of methods
meico.mei.Helper.getPreviousSiblingElement()
andgetNextSiblingElement()
. - An extensive overhaul of method
meico.mei.Mei.processMeasure()
which is now able to handle the situation that no global time signature is given (viascoreDef
) and only locally defined in thestaffDef
elements. - Some code polishing.
meico v0.8.11
v0.8.11
- Another bugfix: The
endid
of MEItie
elements was not properly resolved.
meico v0.8.10
v0.8.10
- Bugfix: If an MEI
space
element was in alayer
environment, it was falsely interpreted as textual gap. However, it is a musical gap and should be interpreted as rest.
meico v0.8.8
v0.8.8
- Added a getter to class
meico.mpm.Mpm
to provide access to the metadata:getMetadata()
. - Added support for MEI
verse
andsyl
elements, so they are converted to MSMlyrics
elements. - Added support for MEI
dynam
andtempo
elements that are positioned within averse
environment. - New method
processSpace()
for processing MEIspace
elements. These elements are usually interpreted as rests. However, this should not be done when they encode a textual space, e.g. in lyrics. That is what the method ensures.
meico v0.8.7
v0.8.7
- Enhancement in method
meico.msm.Msm.parseProgramChangeMap()
so MIDI program change events can also be generated after date 0.0. This makes it possible to switch instrument/timbre during the music.
meico v0.8.6
v0.8.6
- Another bugfix in method
meico.mpm.elements.styles.defs.ArticulationDef.articulateNote()
so style switches with no attributedefaultArticulation
(it is optional) are supported.
meico v0.8.5
v0.8.5
- New methods in class
meico.mei.Helper
:pulseDuration2decimal()
,decimalDuration2HtmlUnicode()
,durationRemainder2UnicodeDots()
,accidDecimal2unicodeString()
. These can beused to generate Unicode strings from note value and pitch information. - Bugfix in method
meico.mei.Mei.makeMovement()
. It checks for the file to be not null before accessing it. - Bugfix in method
meico.mpm.elements.styles.defs.ArticulationDef.articulateNote()
that cause articulation rendering running into an infinite loop whenabsoluteDurationChange
is checked to create only non-negative durations.
meico v0.8.4
v0.8.4
- Another bugfix in method
meico.mpm.elements.maps.DynamicsMap.renderDynamicsToMap()
. Seems like the previous update solved one bug and introduced another. - Enhancement in method
meico.mpm.elements.maps.DynamicsMap.getDynamicsDataOf()
. It is now possible to setsubNoteDynamics="true"
even in a constant dynamics segment. This can be useful after a continuous segment to avoid sudden steps of the MIDI channel volume controller.
meico v0.8.2
v0.8.2
- Bugfix in class
meico.msm.Msm
: If the MSM provided aprogramChangeMap
for eachpart
, only the first was correctly rendered to MIDI. This has been fixed.
meico v0.8.1
v0.8.1
- New functionality added to class
meico.msm.Msm
: methodaddIds()
addsxml:id
to eachnote
andrest
element that does not have one. MeicoApp has been updated accordingly.