Class MusicXMLReader
java.lang.Object
org.episteme.core.io.AbstractResourceReader<Composition>
org.episteme.social.arts.loaders.CompositionLoader
org.episteme.social.arts.loaders.MusicXMLReader
- All Implemented Interfaces:
ResourceIO<Composition>, ResourceReader<Composition>
Advanced reader for MusicXML files.
This reader supports the multi-part structure of MusicXML, mapping each <part>
to an internal Track. It also extracts metadata such as title and composer.
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns a short description of this resource handler.getName()Returns the display name of this resource handler.Returns the base path where this resource is located.String[]Returns the supported versions of the format this reader/writer handles.protected CompositionloadFromInputStream(InputStream is, String id) protected CompositionloadFromSource(String path) Methods inherited from class CompositionLoader
getCategory, getLongDescription, getResourceTypeMethods inherited from class AbstractResourceReader
clearCache, getMiniCatalog, getSampleDataPath, isUsingFallback, load, loadAll, loadAllFromSource, loadFromFallback, setCacheEnabledMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ResourceIO
getExpectedResourceFiles, getSupportedExtensions, isFileBased, isOutputMethods inherited from interface ResourceReader
isInput
-
Constructor Details
-
MusicXMLReader
public MusicXMLReader()
-
-
Method Details
-
loadFromSource
- Specified by:
loadFromSourcein classAbstractResourceReader<Composition>- Throws:
Exception
-
loadFromInputStream
- Overrides:
loadFromInputStreamin classAbstractResourceReader<Composition>- Throws:
Exception
-
getName
Description copied from interface:ResourceIOReturns the display name of this resource handler. MUST be implemented with I18N support.- Returns:
- the display name
-
getDescription
Description copied from interface:ResourceIOReturns a short description of this resource handler. MUST be implemented with I18N support.- Returns:
- the description
-
getSupportedVersions
Description copied from interface:ResourceIOReturns the supported versions of the format this reader/writer handles.Each implementation MUST override this method to declare which versions of the underlying format are supported. The returned array should contain version strings in the format's standard notation (e.g., "3.0", "2.1", "Level 3 Version 2").
Examples:
- MathML: {"3.0", "2.0"}
- SBML: {"Level 3 Version 2", "Level 3 Version 1", "Level 2 Version 5"}
- PhyloXML: {"1.10", "1.00"}
- Returns:
- array of supported version strings, never null (empty array if version-agnostic)
-
getResourcePath
Description copied from interface:ResourceIOReturns the base path where this resource is located.
-