Releases: cemfi/meico
Releases · cemfi/meico
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.
meico v0.8.0
v0.8.0
All who used meico as an application so far, should from now on use file meicoApp.jar
!
- Reorganization of the meico programming library and application code as well as its release assets.
- Meico is basically a programming library. All content of package
meico.app
is example code for meico's usage in application projects. However, for the graphical meico application certain JavaFX dependencies had to be added to meico which complicated development for other applications that do not rely on JavaFX. Thus, we decided to split the meico code base into the core functionality and the example applications. - The release assets include
meico.jar
(the headless core functionality to be used by other development projects) andmeicoApp.jar
(the standalone runnablejar
with the commandline and graphical application, it includesmeico.jar
).
- The code base has been reorganized accordingly.
- The
master
branch contains the headless meico, no application code or application-related dependencies. This is all you need to develop your own meico application. - The
meicoApp
branch contains themeico.app
package and all other demo applications (meicoPy and the REST demo).
- The
- Class
meico.Meico
has been stripped down. It no longer contains any launcher code, only meico's current version number. MeicoApp launches from its own main classmeico.app.Main
. - Class
meico.supplementary.VerovioProvider
as been removed. Verovio cannot be part of the headless meico base. It works only with a browser environment and that is only present in meicoApp (which still contains Verovio). - File
README.md
has been updated. Licenses are also a bit different for those who use the headless meico package as JavaFX, Verovio and Font Awesome are used only in meicoApp and not in the base package.
- Meico is basically a programming library. All content of package
meico v0.7.10
v0.7.10
- Class
meico.mpm.Mpm
, when instantiated, parses the XML data and generates an exception if no elementmetadata
was found. However, this is no encoding error and should not produce error messages. This has been fixed. - Local Verovio update to v2.7.0-dev-02b4f36.
- Added new class
meico.supplementary.VerovioProvider
to be used in other classes (Mei
,MusicXml
) as a convenient handle to get the Verovio Toolkit script.