<-- previous page     Table of Contents    Index    next page -->


General information

There are a number of symbols and other markings that appear frequently in music and are normally associated with a particular time or place in the composition. There are several classes of such symbols, all of which are handled by Mup in a somewhat similar fashion. The general format of these statements is:

mark_type place staff(s) distance aligntag : begintime text duration;

The mark_type can be any of the following:

Mark_type        Meaning

rom        text in roman font
ital       text in italic font
bold       text in bold font
boldital   text in bold-italic font
mussym     music symbol (fermata, coda sign, etc.)
phrase     phrase mark
<          crescendo "hairpin"
>          decrescendo "hairpin"
octave     play 1 or more octaves higher or lower
pedal      piano pedal marks

The place is as for lyrics: above, below, or between. There are some restrictions, as summarized below:

                       place allowed
mark_type   above   below   between   default

rom          yes     yes      yes      above
bold         yes     yes      yes      above
ital         yes     yes      yes      above
boldital     yes     yes      yes      above
mussym       yes     yes      yes      above
phrase       yes     yes       no     varies
<            yes     yes      yes      above
>            yes     yes      yes      above
octave       yes     yes       no       none
pedal         no     yes       no      below

Octave marks must include a place of above or below. For all the other mark_types, the place is optional. For phrase, if place is not specified, Mup determines it on a case-by-case basis, depending on the location of the notes, unless the defaultphraseside parameter is set to force a side.

As with musical data or lyrics, the staff can be a single number or may include lists and ranges. In the case of "between", staff numbers must be in pairs, separated by an "&", with the second staff number one greater than the first.

The staff can also be specified by the keyword "all," in which case the mark will be placed above the top visible staff or below the bottom visible staff.

Here are some examples:

rom 3:
boldital below 1:
< between 3&4:
pedal below 2:
octave above 3:
phrase 3,4:
mussym above 2-3, 5:
ital between 1&2, 3&4:

The distance is optional. It is specified by the keyword "dist" followed by a number. This number overrides the dist, chorddist, or dyndist parameter value that would normally apply, and is given in stepsizes. If the number is followed by a ! the items will be placed at exactly that distance from the edge of the staff, without regard for anything they might overwrite. Otherwise the normal rules apply: the dist is a minimum value, and items may be placed farther away than this to avoid colliding with other things. If the ! is used, the number is allowed to be negative, which allows you to place items inside the staff. A dist cannot be specified with phrase or between.


rom above 1: 1 "normal dist";
rom above 1 dist 4: 2 "dist 4";		// higher than usual
rom above 1 dist 0! : 3 "forced 0";	// lower than normal
mussym above 1 dist -2! : 4.5 "rr";	// forced down into staff
1: c;;;;

Picture of Mup output

The aligntag is optional, and allows forcing several items to be placed at the same vertical position. This will be covered in more detail a bit later.

After the colon comes one or more items to be printed. Each item contains at least a begintime specification. Some may also contain a text string and/or a duration. Each item ends with a semicolon. A newline ends the list of items.

The begintime describes where in time the item should be printed. It is a number ranging from 0 to the numerator (top number) of the time signature plus one. 0 refers to the bar line at the beginning of the current measure, 1 refers to the first beat of the measure, 2 to the second beat, etc., with the maximum value referring to the bar line which ends the measure. A "beat" is whatever time value is given by the denominator (bottom number) of the time signature. For example, in 4/4 or 3/4 time, a beat is a quarter note, whereas in 6/8 or 9/8 time, a beat is an eighth note. Fractional values can be specified using a decimal number. Thus 1.5 is halfway between beats 1 and 2, while 2.66 is about 2/3 of the way between beats 2 and 3. For time signatures that are the addition of two or more fractions, like 4/4 + 3/8, a "beat" is given by the largest denominator.

Since grace notes effectively take zero time, special notation is used to place something relative to a grace note. The begintime can be followed by a number of grace notes to "back up" from the beat. The number is a negative number enclosed in parentheses.

The beat time value can optionally be followed by an offset, in stepsizes. This offset is a number in square brackets. The number must begin with a + or - sign. It can optionally include a decimal point and fractional part. A negative offset will cause the item to be moved to the left, while a positive offset will cause it to be moved to the right. This offset is used as a final adjustment after all the other placement has been done. A common use for this would be if you want to place something slightly before the beginning of the first measure of a song. You could then specify something like:

rom above all: 0 [-3.5] "Allegro";

which would place the "Allegro" 3.5 stepsizes left of the beginning of the measure.

The grace note backup, if any, must occur before the stepsize offset, if any. For example:

1: c; [grace] 8d; []e; []f; 2.g;
ital above 1: 2(-3)[+1] "cresc.";

Picture of Mup output
would find the chord at or closest to count 2, and back up 3 grace notes from there, then move right by 1 stepsize.

For items that include a duration, the duration tells the ending point of the item. A duration is specified by:

til Mm + N

where M is a number of bar lines to cross, and N is a number of additional beats. (An "m" is used because it counts the number of measures.) If either of them is 0, it can be omitted, but at least one of them must be non-zero.

This can optionally be followed by a grace backup and/or an offset, like the start time. The grace backup is a negative number in parentheses, telling how many grace notes to back up. The steps offset is a number in square brackets, which must begin with a + or - sign, and can optionally include a decimal point and fractional part. A negative offset will cause the item to be moved to the left, while a positive offset will cause it to be moved to the right. This offset is used as a final adjustment after all the other placement has been done. Here are some examples:

til 3	// until beat 3 of current measure
til 1m+2   // until beat 2 of next measure
til 1m   // until next bar line
til 3m+2.8[-1.5]  // 3 bar lines and 2.8 beats, then left 1.5 stepsizes

Whether the text and duration are allowed or required depends on the mark_type, as summarized below:

mark_type    text            duration

rom        required          optional
bold       required          optional
ital       required          optional
boldital   required          optional
mussym     required      allowed on tr only
phrase    not allowed        required
<         not allowed        required
>         not allowed        required
octave     required          optional
pedal     * or nothing     not allowed

If there are several items, such that they have to be stacked on top of each other, all items of a particular class are placed from top to bottom according to input order. The classes are done in the order shown in the table below, unless the order is overridden by the aboveorder, beloworder, or betweenorder parameters.

above	(from bottom up)
   rom bold ital boldital < >
   rehearsal marks

below	(from top down)

   rom bold ital boldital < >

between	(from bottom up)
   rom bold ital boldital < >

For example, for the above items, all phrases will be placed as close to the staff as possible, then mussym items above them, then octave marks above them, etc. However, if there are several mussym items that belong at the same horizontal position, the first one entered in the input will be printed above the second, the second one entered will be printed above the third, etc. All of the "above all" items of a given class will be above the items of that class for the top visible staff, and all "below all" items of a given class will be below the items of that class for the bottom visible staff.

Additional control of placement can be imposed by the optional align tag. This is the keyword "align" followed by a number between 0 and 10000 inclusive. On a given score, all marks in the same placement order level and having the same align tag value will be placed together, so that they will all be aligned at the same vertical position. An align tag can only be applied to text (rom, ital, bold, boldital) and crescendo and decrescendo marks. It can also be used on pedal, but only when the alignped parameter is set to n. Among marks with the same placement order level, those without alignment are placed first. Then those with alignment are placed, in ascending numerical order of the align tag. If any of the aligned marks also have a dist specified, the rightmost such dist applies to all with that alignment tag, otherwise the largest default distance is used. If any also have ! specified, to force an exact distance, that applies to all.

If after placing a set of aligned marks, Mup determines that any of them overlap horizontally, it will squeeze the one on the left in an attempt to avoid the overlap--to a point. If some overlap remains even after squeezing as much as is allowed by the minalignscale parameter, Mup will issue a warning. You can then adjust things yourself if you wish.

Here is an example showing the impact of using alignment. The two measures are the same, except the second uses alignment tags. Note that since in this example only a single align tag value is used for above and one for below, there is no need for specifying an order among alignment tags, so the numeric values can be arbitrary.



rom above 1: 1 "Allegro con brio";
ital above 1: 3 "dolce";
1: [with .]... 8g-;a-;b-;c;g;a;g;a;
< below 1: 1 til 2.8;
boldital dyn below 1: 3 "mf";
> below 1: 3.3 til 4.8;

rom above 1 align 17: 1 "Allegro con brio";
ital above 1 align 17: 3 "dolce";
1: [with .]... 8g-;a-;b-;c;g;a;g;a;
< below 1 align 3: 1 til 2.8;
boldital dyn below 1 align 3: 3 "mf";
> below 1 align 3: 3.3 til 4.8;

Picture of Mup output

Music symbols
Phrase marks
Crescendo and decrescendo marks
Octave marks
Piano pedal marks

   <-- previous page    Table of Contents    Index    next page -->