FOMUS Marks
Prev | Chapter 6. Marks | Next

## 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).
`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. 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-`
`: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`

Prev | Up | Next
Chapter 6. Marks | Home | TIMESIG Properties