As of MaxScore v.0.2 we are introducing a plugin system called Scorepions which allows Max programmers to create patches to extend the functionality of the MaxScore/LiveScore editors.
We will now discuss how to create a Scorepion based on the Scorepion Template patch which can be found in Max 6.1/packages/MaxScore/patchers/Tutorial/Scorepions.
The Scorpion Template as it will be presented to the user.
Scorepions to be included in the Scorepion menu need to reside in MaxScore Lib/Scorepions. This Scorepion is based on “Fill Empty Measures with Rests” and serves as an annotated template.
Besides the core set of Max objects and messages, a Scorepion patch consists of user interface elements which need to be added to Presentation. Three outlets are used to control the behavior of the patch.
1. All messages to the MaxScore object go out the first outlet. They include the 200+ messages defined in the MaxScore dictionary.
2. Messages to parent patch. Currently, there are three messages controlling the behavior of MaxScore:
a. transcribe. This message will cause transcription of clips selected in the Saff Manager.
b. update. This message sends the (modified) MaxScore note list to Live.
c. newScore. This message resets the Staff Manager and creates a new score with one staff.
3. Messages to bcanvas. These messages control the behavior of the bcanvas abstraction which draws score elements such as lines and characters. Supported messages are:
width, height, writeat, openwindow, floatwindow, window, offset, name, zoomfactor, flash, setScoreSize, active, mouseover, iscanvas, scoreLayout, framearc, setZoom, linesegment, frgb, penmode, paintpoly, writepict, svg, graphicsBuffer, fillRect, drawRect, RenderMessage, musicfont, textfont, StaffLine, LedgerLine, Slur, Tie, TieOut, TieIn, cresc, decresc, barline, RepeatDots, stem as well the following glyphs:
accent, acciaccatura, al, ba, doubleflat, doublesharp, eighthflagdown, eighthflagup, eighthrest, fermata, flat, forte, fortissimo, fortississimo, halfrest, harmonic, invertedmordant, mezzoforte, mezzopiano, mordant, natural, noteheadblack, noteheadblackdiamond, noteheadblackinvertedtriangle, noteheadblacktriangle, noteheadslash, noteheadwhite, noteheadwhitediamond, noteheadwhiteinvertedtriangle, noteheadwhitetriangle, noteheadwhole, noteheadx, noteheadxdiamond, noteheadxoval, ottavaalta, ottavabassa, pianissimo, pianississimo, piano, pr, quarterrest, sharp, staccato, staccato_tenuto_down, te, tempoqtrequals, tenuto, timesig0, timesig1, timesig2, timesig3, timesig4, timesig5, timesig6, timesig7, timesig8, timesig9, tr, tremolo1, tremolo2, tremolo3, trill, tuplet0, tuplet1, tuplet2, tuplet3, tuplet4, tuplet5, tuplet6, tuplet7, tuplet8, tuplet9, wedgedown, wedgeup, wholerest