Class MusicXMLReader

All Implemented Interfaces:
ResourceIO<Composition>, ResourceReader<Composition>

public class MusicXMLReader extends CompositionLoader
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 Details

    • MusicXMLReader

      public MusicXMLReader()
  • Method Details

    • loadFromSource

      protected Composition loadFromSource(String path) throws Exception
      Specified by:
      loadFromSource in class AbstractResourceReader<Composition>
      Throws:
      Exception
    • loadFromInputStream

      protected Composition loadFromInputStream(InputStream is, String id) throws Exception
      Overrides:
      loadFromInputStream in class AbstractResourceReader<Composition>
      Throws:
      Exception
    • getName

      public String getName()
      Description copied from interface: ResourceIO
      Returns the display name of this resource handler. MUST be implemented with I18N support.
      Returns:
      the display name
    • getDescription

      public String getDescription()
      Description copied from interface: ResourceIO
      Returns a short description of this resource handler. MUST be implemented with I18N support.
      Returns:
      the description
    • getSupportedVersions

      public String[] getSupportedVersions()
      Description copied from interface: ResourceIO
      Returns 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

      public String getResourcePath()
      Description copied from interface: ResourceIO
      Returns the base path where this resource is located.