Releases: cemfi/meico
Releases · cemfi/meico
meico v0.8.21
v0.8.21
- Little enhancement in methods
meico.mpm.elements.maps.ArticulationMap.addStyleSwitch()
that is now also able to handle argumentdefaultArticulation == null
. - Added constructors to classes
meico.mpm.elements.maps.data.ArticulationData
,MetricalAccentuationData
,RubatoData
,DynamicsData
,TempoData
, andDistributionData
so they can now be instantiated from a corresponding XML element. - Fix in method
meico.mpm.elements.maps.MetricalAccentuationMap.addAccentuationPattern(MetricalAccentuationData data)
. It has rejected input data that defined anaccentuationPatternDef
name but not the corresponding object itself. However, this is the usual situation when parsing an XML element. So this had to be fixed.- Same for method
meico.mpm.elements.maps.RubatoMap.addRubato(RubatoData data)
.
- Same for method
- Bugfix: corrected constant value
meico.mpm.Mpm.RUBATOR_STYLE = "RubatorStyles"
to"RubatoStyles"
. - Introduced some constants to class
meico.mpm.elements.maps.data.DistributionData
that provide the default strings for the type of the distribution. These are now used in classmeico.mpm.elements.maps.ImprecisionMap
instead of the hard-coded strings, so it will be easier to alter and extend those constants in future updates.
meico v0.8.20
v0.8.20
- In classes
meico.mpm.elements.maps.GenericMap
andmeico.mpm.elements.maps.ArticulationMap
a variant of methodaddStyleSwitch()
has been added that supports input of an ID string.
meico v0.8.19
v0.8.19
- Added new class
meico.mpm.elements.metadata.Comment
and incorporated it in all classes that handle MPM metadata comment elements. - In class
meico.mpm.elements.metadata.Metadata
some new methods have been added:removeAuthor()
andremoveComment()
. - Enhancement in method
meico.mpm.Mpm.addPerformance()
to cancel if the inputPerformance
object is null. It also got aboolean
return value to indicate the success of the action. - The same has been added to method
meico.mpm.elements.Performance.addPart()
. It returnsfalse
also if the part is already in the performance. - The same has been added to methods
meico.mpm.elements.metadata.Metadata.addAuthor()
,addComment()
andaddRelatedResource()
. Instead of an index they return-1
. - Bugfixes in methods
meico.mpm.elements.metadata.Author.setId()
andremoveAuthor()
. - Classes
meico.mpm.elements.Part
,Performance
have been extended to provide access also to the element'sxml:id
. - New methods
clear()
andrenameStyleDef()
in classmeico.mpm.elements.Header
to remove all content of from the respective MPM element. - New method
clear()
in classmeico.mpm.elements.Dated
to remove all content of from the respective MPM element. - Bugfix in method
meico.mpm.elements.Header.removeStyleType()
,removeStyleDef()
,addStyleType()
. - Lots of enhancement and refactoring of all classes in packages
meico.mpm.elements.styles
andmeico.mpm.elements.styles.defs
. - Correction of
rubatoDef
factory methodmeico.mpm.elements.styles.defs.RubatoDef.createRubatoDef(String name)
tocreateRubatoDef(String name, double frameLength)
. ArubatoDef
without aframeLangth
is invalid. Hence the factory could never create arubatoDef
. This is fixed. - Refactoring of method
meico.mpm.elements.styles.defs.AccentuationPatternDef.getSize()
tosize()
to follow the convention used in all other classes. - Added another method
addAccentuation()
to classmeico.mpm.elements.styles.defs.AccentuationPatternDef
that supports input of anid
string.
meico v0.8.18
v0.8.18
- Enhancement of class
meico.mpm.elements.metadata.Metadata
so it can be instatiated with related resources.
meico v0.8.17
v0.8.17
- Made class
meico.midi.InstrumentsDirectory
public so it can be used outside of its package. - Extended method
meico.mei.Mei.makePart()
.- This addresses issue #23 where the staff label did not suffice to properly indicate which General MIDI instrument should be chosen during the MIDI export.
- Thus, support for MEI element
instrDef
has been added. It should be used as follows.Only one of the attributes<staffDef clef.line="2" clef.shape="G" lines="5" n="1" label="unhelpful label"> <instrDef midi.instrname="Violin" midi.instrnum="40"/> </staffDef>
midi.instrnum
(prioritized) andmidi.instrname
is required. The former should have values from 0 to 127 (not 1 to 128!). A list of General MIDI instrument names and numbers can be found on Wikipedia (here the numbers must be decreased by 1!). - Meico will add a
programChangeMap
to the MSM part during export and use this instead of the label to generate the corresponding MIDI messages during MIDI export. - The MEI Coverage Documentation has been updated accordingly and provides further information.
meico v0.8.16
v0.8.16
- Little tweak in method
meico.mpm.maps.DynamicsMap.renderDynamicsToMap()
: If adynamicsMap
does not have adynamics
element at date 0.0 but there arenotes
to be performed before the firstdynamics
instruction, they now get a default velocity value.
meico v0.8.15
v0.8.15
- Little tweak in method
meico.mei.Mei.processMeasure()
as it struggled to remove and insertingtimeSignature
elements fromtimeSignatureMap
when the measure does not comply with the given time signature. - Indexing correction in method
meico.mpm.elements.styles.defs.AccentuationPatternDef.addAccentuationToArrayList()
so accentuations are added in the correct order to patterns. - In method
meico.mei.Mei.processSyl()
attributewordpos
was mandatory (with valuesi
orm
) to process attribtecon
. This did not work for some cases. So,wordpos
is now being ignored andcon
will always be processed.
meico v0.8.14
v0.8.14
- Added method
meico.mei.Helper.addUUID()
which encapsulates the generation of uniquexml:id
attributes. The corresponding code in methodmeico.msm.Msm.addIds()
has been adapted. - Added another method
addAccentuationPattern()
to classmeico.mpm.elements.maps.MetricalAccentuationMap
which allows setting attributestickToMeasures
. - Minor fix in method
meico.mei.Mei.addArticulationToMap()
which generated anoteid
string fromnull
instead of setting the stringnull
. - After update 0.8.12, method
getCurrentTimeSignature()
in classmeico.mei.Helper
required more context as input to determine the time signature information. It has been updated accordingly. This required adaptations also in several other methods in classesmeico.mei.Helper
andmeico.mei.Mei
which have been done, too.
meico v0.8.13
v0.8.13
- Fix of the processing of
<accid>
elements where the parent<note>
has different graphical and gestural pitch, see issue #17.
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.