The MaxScore help file current provides the most detailed reference:
There are specific messages for setting up a score…
and for setting the attributes of a note or interval.
More than 2 dozens of messages allow queries….
and others serve to select and edit events.
MaxScore can load and save files in its own xml format as well as import and export in a number of widespread formats such as music xml or midi:
A set of messages concern playback and navigation. Playback uses floating point numbers for virtually unlimited precision of the duration, pitch, amplitude and hold time dimensions, thus allowing microtonal playback.
Note dimensions are a useful feature for attaching extra attributes which will be passed when a note plays back…
… as demonstrated in this example:
MaxScore also possesses a powerful transcriber with countless quantization options.
Plugins can be written in Java and accessed from within the Max environment for further manipulation of the score:
Rendered messages are extra attributes that will be passed to the graphics engine. They greatly expand the repertoire of symbols and glyphs…
…as shown in this example.
Several music fonts (currently Aloisen New, Maestro, Jazz and Opus) are supported, greatly increasing your layout options.
There are a number of other objects and abstractions working in tandem with MaxScore which are shown below.
Canvas displays the music in a separate window…
…while bcanvas will draw into a patcher window. Both canvas and bcanvas respond to their own set of messages.
Use maxscore.parse to parse MaxScore’s xml info dumps, to view and process score, measure, staff or note attributes…
…and use the messages in conjunction with maxscore.split to split a score into several sub scores. A useful abstraction for real-time part extraction (employed in applications such as Quintet.net).
Ádám Siska’s sadam library contains objects that were specifically designed for MaxScore such as sadam.rapidXML, sadam.lzo or sadam.base64.