FOMUS Marks

Formats for marks and their arguments are shown in a pseudo lambda-list style format with &optional symbols to designate optional arguments. Some arguments are shown as a choice between several options or symbols, each separated by a pipe character. In most cases, it doesn't matter in what order the arguments appear--FOMUS figures out which is which by the data types (reorderable arguments like this are shown by a double arrow figure). Also, spanner marks that belong together are shown together and separated with forward slashes. The following list is a reference for the some of the arguments given in the following sections:

art-order
An integer for articulations specifying relative closeness to the notehead (lower numbered articulations are closer than higher numbered ones).
clef
A valid clef symbol (see the CLEFS slot in structure INSTR for a list of these symbols).
level
This integer distinguishes between inner and outer levels of spanner markings. The default value is 1. Smaller numbers are "inner" markings occurring close to the staff while larger numbers are "outer" markings occurring farther away from the staff. There are two methods of designating which level a mark is to appear on. The first is to use the same few level numbers repeatedly (for example, 1 may be used to designate the 1st or innermost level and 2 to designate the 2nd level, as in two levels of slur markings). This method allows the user to be "lazy" and leave out matching START and END marks--FOMUS can supply the missing marks by finding the next START or END marks in that level. The second method is to use a separate number for each start/end pair--in this case, all START marks must have matching END marks or FOMUS will try to supply missing marks for each individual "level" and create a mess.
note
A valid note symbol or number (see the NOTE slot in the NOTE class).
staffnum(s)
One or more valid staff numbers (numbering starts at 1, indicating the topmost staff).
string
A text string.
trem-subdiv
A durational value (a ratio or integer) for a tremolo subdivision. It is specified in beats (for example, if one beat equals a quarter note value, a tremolo with a value of 1/2 indicates an eighth-note tremolo, 1/4 indicates a sixteenth-note tremolo, etc.). If the optional :NOTATED keyword is given, the number is instead interpreted as a written duration regardless of the beat value (so in this case, 1/8 indicates an eighth-note tremolo, 1/16 indicates a sixteenth-note tremolo, etc.). The absence of a number indicates an unmeasured tremolo and is notated with three tremolo beams.

Marks with no arguments can always be indicated with a symbol only (the enclosing list isn't necessary). Also, many of these symbols closely correspond to symbols used in some of the backend formats (MusicXML and LilyPond). Not all symbols are supported in all of the backends.

Articulations

These marks add articulation symbols to notes. Multiple levels of slurs may be specified (FOMUS applies extra sorting to slurs to insure that smaller ones occur in the "innermost" level while larger ones occur in the "outermost" level). The :GRACESLUR- marks are slurs reserved for gracenotes, and are automatically added by FOMUS by default.

(:STACCATO &optional art-order)
(:STACCATISSIMO &optional art-order)
(:ACCENT &optional art-order)
(:MARCATO &optional art-order)
(:TENUTO &optional art-order)
(:PORTATO &optional art-order)
(:STARTSLUR- &optional level <-> :DOTTED) / (:SLUR- &optional level) / (:ENDSLUR- &optional level)
:STARTGRACESLUR- / :GRACESLUR- / :ENDGRACESLUR-

Dynamics

These add common dynamic markings. The :WEDGE> and :WEDGE< marks create wedge-shaped crescendo and decrescendo markings.

All of the dynamics marks may be appended with an asterisk (for example FFF* or :STARTWEDGE<*). These marks are equivalent to the non-asterisk versions, the only difference being that during MIDI playback dynamics changes will affect all voices in a part. This allows the user to specify one set of notated dynamics markings for a part with multiple voices (using MARK objects, for example), but have the MIDI playback rendered more accurately.

:FFFFFF
:FFFFF
:FFFF
:FFF
:FF
:F
:MF
:MP
:P
:PP
:PPP
:PPPP
:PPPPP
:PPPPPP
:SFZ
:SFF
:RFZ
:FP
:SF
:SP
:SPP
:STARTWEDGE> / :WEDGE> / :ENDWEDGE>
:STARTWEDGE< / :WEDGE< / :ENDWEDGE<

Tempo/Duration

These are notation symbols that affect duration. Three different types of fermatas may be specified (the default is :SHORT if none is specified). Breath marks may be set to occur before or after the note it's attached to (the default is :AFTER). The :AUTODUR mark indicates that FOMUS should determine the duration of the note, appropriate for events such as pizzicatos or other percussive-type attacks that don't require a specific duration but only a simply notated one. This has an effect only if the AUTO-PERCUSSION-DURS setting is set to T.

(:FERMATA &optional :SHORT|:LONG|:VERYLONG)
(:BREATH &optional :BEFORE|:AFTER)
(:AUTODUR)

Ornamentations

These marks add common ornamentation markings. Glissandi and portamenti may be set to occur before or after a note (the default for both is :BEFORE). A :TREMOLO mark is notated by placing slashes over the note stems while the :TREMOLOFIRST and :TREMOLOSECOND marks refer to the chordal tremolos commonly found in piano scores. These are processed by separating the notes marked "first" from the ones marked "second" into separately notated chords and placing a tremolo-style beam over them. The optional :NOTATED keyword indicates that the subdivision number is to be interpreted as a written duration. The optional :UP and :DOWN keywords in the :ARPEGGIO mark specify that a direction is to be notated using an arrowhead. The optional note arguments are for specifying the trill note. Only half and whole step trills are currently supported (and unison trills for percussion instruments).

(:TREMOLO &optional trem-subdiv <-> :NOTATED)
(:TREMOLOFIRST &optional trem-subdiv <-> :NOTATED)
(:TREMOLOSECOND &optional trem-subdiv <-> :NOTATED)
(:LONGTRILL &optional note)
(:ARPEGGIO &optional :UP|:DOWN)
(:GLISSANDO &optional :BEFORE|:AFTER)
(:PORTAMENTO &optional :BEFORE|:AFTER)
(:TRILL &optional note)
(:MORDENT &optional note)
(:PRALL &optional &optional note)

Effects

These marks are for special instrument-specific effects or instructions. If the AUTO-PIZZ/ARCO setting is set to T, the :ARCO marks shouldn't be needed--FOMUS inserts them where they are necessary. Harmonics are specified by attaching one or more :HARMONIC marks, each indicating an extra note to appear above the base note. Specifying :SOUNDING (the default) causes a small parenthesized notehead to appear while specifying :TOUCHED causes a diamond notehead to appear. The actual results may vary depending on the backend (extra editing may be required). Notes are indicated with either a symbol or number, as in the NOTE slot in the NOTE class. (Extra accidentals are not specified here.)

:PIZZ
:ARCO
(:HARMONIC note <-> &optional :TOUCHED|:SOUNDING)
(:OPEN &optional art-order)
(:STOPPED &optional art-order)
(:UPBOW &optional art-order)
(:DOWNBOW &optional art-order)
(:THUMB &optional art-order)
(:LEFTHEEL &optional art-order)
(:RIGHTHEEL &optional art-order)
(:LEFTTOE &optional art-order)
(:RIGHTTOE &optional art-order)

Text

Different kinds of text may be attached to events. :TEXTNOTE is for text that appears over a single note (for example, "sul G"), :TEXT and :TEXT- are for italicized texts that appear above or beneath the staff, :TEXTTEMPO indicates tempo changes (and is printed in a larger boldface font), and :TEXTDYN is for texts appearing in a dynamics-type font. For text spanners, "levels" may be specified to influence the order of their placement on the score.

(:TEXTNOTE string)
(:TEXT string <-> &optional :UP|:DOWN)
(:STARTTEXT- string <-> &optional level <-> :UP|:DOWN) / (:TEXT- &optional level) / (:ENDTEXT- &optional level)
(:TEXTTEMPO string <-> &optional :UP|:DOWN)
(:TEXTDYN string <-> &optional :UP|:DOWN)

Notation

Most of these behave as user overrides to FOMUS's automatic algorithms. :CAUTACC indicates that a cautionary accidental is to be placed before the note. :FORCEACC forces an accidental spelling. :NOTEHEAD indicates a different notehead. The :CLEF and :CLEF- spanner marks indicate clef changes and regions where a certain clef is required. A clef spanner must occur in a single voice. The :STAFF and :STAFF- spanner marks indicate staff choice overrides for instruments with more than one staff (ie. a grandstaff). All marks containing 8UP and 8DOWN are overrides for ottava brackets and must be specified for notes that appear in a single staff rather than a voice. The :TIE mark ties a note to the following or previous note depending on whether :BEFORE or :AFTER (default) is supplied and whether or note the adjacent note is the same.

:CAUTACC
:FORCEACC
(:NOTEHEAD :HARMONIC|:DIAMOND|:X|:XCIRCLE|:TRIANGLE|:SLASH)
(:CLEF clef)
(:STARTCLEF clef) / :CLEF- / :ENDCLEF-
(:STAFF &rest staffnum(s))
(:STARTSTAFF &rest staffnum(s)) / :STAFF- / :ENDSTAFF-
:8UP
:START8UP- / :8UP- / :END8UP-
:8DOWN
:START8DOWN- / :8DOWN- / :END8DOWN-
(:TIE &optional :BEFORE|:AFTER)

Other

The :IGNORE has no effect. It is intended to be useful for automatically generating FOMUS input files.

:IGNORE