James Bean
James Bean
In time, we should support the [compressed musicXML](https://www.musicxml.com/tutorial/compressed-mxl-files/) format. We need to do some research regarding whether or not we need to take on a dependency or not.
We currently only [test](https://github.com/dn-m/MusicXML/blob/latest/Tests/MusicXMLTests/LilyPondTests/LilyPondTestSuite.swift#L13-L44) that we can decode the LilyPond test suite without throwing errors. Now, let's up the ante by making the LilyPond tests perform the following maneuver: -...
In order for #154, and [0.3.0](https://github.com/dn-m/MusicXML/milestone/1) to happen, we need to implement encoding for all types. Knowing what we know now (which is considerably more than when we started with...
Now that we are disabling `.trimValueWhitespaces` from our decoder, it may make sense to create an `XMLDecoder` subclass `MusicXMLDecoder`. This way we can use `MusicXMLDecoder` when testing atomic units, so...
Add some examples of parsing, manipulating, and exporting very basic MusicXML samples to the README.
The LilyPond test suite has relatively good coverage, but some real-world examples will be nice. For example, [Beethoven string quartets](http://www.gutenberg.org/ebooks/author/75). This will also raise the stakes w/r/t performance.
`Note` has a complex structure. In order to create one, you need to dive down a couple enums deep. Let's provide convenience initializers for each of these different `Kind`s. Though...
As an analogy to `Scale.Degree` (#91), add the `Chord.Factor` structure for managing component parts of chords.
Build out a `ScaleDegree` structure, with different representational affordances. The `ScaleDegree` might have an `index` (`0`, `1` ...), and depending on the context of the `Scale` (major, minor, etc.) it...
When `IntervalSearchTree` is established and reasonably vetted, push it down to `DataStructures`.