Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Java mapping library for MusicXML

License

NotificationsYou must be signed in to change notification settings

Audiveris/proxymusic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maven Central

ProxyMusic

ProxyMusic allows to marshal/unmarshal Java objects in memory to/from MusicXML 4.0data in a Document, a stream or a file.

This binding provides an easy way for Java programs dealing with music symbolicinformation (such as score scanners, music editors, music sequencers, etc) to reador write files in MusicXML.

ProxyMusic supports the following MusicXML features:

  • Marshalling/unmarshalling ofScorePartwise
  • Marshalling/unmarshalling ofOpus
  • Handling of standard (uncompressed).xml files
  • Handling of compressed.mxl files

Implementation

All MusicXML elements and attributes are implemented as about 325 Java classes that areautomatically generated from the MusicXML defining schema as found onits vendor site.

The main advantage of this automated approach is to result in an efficient and error-free implementation.

Building

Building ProxyMusic is easily achieved with the following terminal command:

$> mvn clean package

This command will (re)build the ProxyMusic Maven artifacts (binary, source and doc),taking as input the schema definition filessrc/main/xsd/musicxml.xsd andsrc/main/xsd/opus.xsd.

Usage

The latest ProxyMusic release is available onMaven Centraland thus can be easily integrated in a Gradle or Maven build.Alternatively, it is possible tobuild a local artifact.

A utility Java class, namedproxymusic.util.Marshalling, is available to ease the handlingof both marshalling and unmarshalling ofScorePartwise andOpus entities.

A few examples of use:

  • A small example is available in theproxymusic.util package located in the test branch,its name isproxymusic.util.HelloWorldTest.java.
    This example performs marshalling and unmarshalling of the classical HelloWorld as available inthe MusicXML tutorial.
  • Another small example, focused on the marshalling and the unmarshalling of a part-list element,is available asproxymusic.util.ScorePartTest.java.
  • For marshalling and unmarshalling Opus entities, seeproxymusic.opus.OpusTest.java simpleexample orproxymusic.opus.MxlOpusTest.java more realistic example.
  • For dealing with compressed.mxl files, seeproxymusic.mxl.MxlTest.javaorproxymusic.opus.MxlOpusTest.java examples.
  • A real size example is provided by the companionAudiveris project.
    Audiveris is an Optical Music Recognition software (OMR) which uses ProxyMusic to handlethe marshalling layer.
    For detailed information, refer to AudiverisScoreExporterandPartwiseBuilder Java classes.


[8]ページ先頭

©2009-2025 Movatter.jp