The MaxScore help file currently provides the most detailed reference to the mxj MaxScore object:
There are specific messages for setting up a score. 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 MusicXML, Lilypond or MIDI:
Several music fonts (currently Aloisen New, Maestro, Jazz and Opus) are supported, greatly increasing your layout options.
Here are the messages for setting the attributes of a note or interval:
Note dimensions are a useful feature for attaching extra attributes which will be passed when a note plays back, as demonstrated in the example from double-clicking on “p example”:
and others serve to select and edit events.
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.
MaxScore also possesses a powerful transcriber with countless quantization options.
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.
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.