Skip to content

I ran xsd.exe on the MusicXML xsd so you don't have to.

Notifications You must be signed in to change notification settings

IanWold/MusicXmlSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MusicXmlSharp

I took the MusicXML XSD files and ran them through xsd.exe. I sorted the library out into separate class files, and they're all annotated with everything you need to do the fancy autoparsing from XML into the library. The classes implement INotifyPropertyChanged, so you can databind right out of the bat.

MusicXML versions 2.0, 3.0, and 3.1 are all included.

Deserialize XML files with XmlSerializer.Deserialize

MXL files are MusicXML files compressed as ZIP files (see here). To read these, use ZipFile.OpenRead before deserializing.

Development

I'm going to be using this for a couple different projects in the future, so this repo is going to act as a place to fork from; I'm not doing any real development here. Feel free to fork it yourself!

If you want to help improve it, by all means feel free to tackle the 25,000 generated lines, I'm not going to stop you. I have a couple of tools to automatically traverse the library and add superficial features into the classes - if there's something simple you think should be added, go ahead and open an issue and we'll see if it can be done!

One interesting thing to do would be to try to automatically document the code and generate some docs. Properties are all prefaced by:

/// <remarks/>

License

Public domain! w00t!

About

I ran xsd.exe on the MusicXML xsd so you don't have to.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages