# `Mx.Score`
[🔗](https://github.com/mx-music/mx/blob/main/lib/mx/score.ex#L1)

A MusicXML score read into parts of bars, each bar a list of voices and each voice a list of notes and rests in order.

Lengths are in quarter notes, pitches are as they sound, and `order` lists the bars by number in the order the score plays them, its repeats and endings taken.
`runs` is the same order cut wherever the score jumps or crosses a repeat or an ending, so it can be written as ranges.

# `read`

Reads a compressed .mxl or an uncompressed MusicXML file, and returns `{:ok, score}` or `{:error, message}`.

# `xml`

The MusicXML text of a compressed or uncompressed score, as `{:ok, xml}` or `{:error, message}`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
