# New Mup Features

## New Features in Mup Version 5.5 (released in 2008)

- There is a new emptymeas parameter. By default, Mup uses "ms;" (measure space) for any voices for which no music input is given, but often it would be handy to have it fill in a measure rest instead. You can do that by setting this parameter to "mr;" but this parameter is actually much more general, allowing you to specify any valid music input. So, for example, if you have a measure long pattern that it used frequently, you can set this parameter to that pattern, and Mup will then fill it in for you anywhere you don't explictly provide something else.
- The staff and voice contexts can now apply to a list of staffs or voices rather than just one.
- There are three new optional values to the stemshorten parameter that let you control how Mup shortens stems that protrude from the staffs.
- It is now possible to force stem direction on grace notes, just like on non-grace.
- There are new parameters to control the appearance of text "with" lists: withfont, withfontfamily, and withsize.
- It is now possible to specify a list of "with" items on rests as well as on notes.
- MIDI processing now applies legato marks by effectively setting the release to zero for those notes. (It had already applied staccato, wedges, and the combination of legato marks and staccato in previous versions of Mup.)

## New Features in Mup Version 5.4 (Released in 2007)

- It is now possible to define user defined symbols, and also to override the appearance of the builtin music symbols.
- There is now an index for the HTML version of the User's Guide, like for the PostScript version.
- There is a new lyricsdist parameter to control how close lyrics can be placed to staffs.
- Parameters that control distance from the staff (dist, chorddist, dyndist, and lyricsdist), and well as the dist on tempo and dynamic marks, etc. can now be specified in floating point, rather than being restricted to whole numbers.
- There is a new maxscores parameter, that lets you set a maximum number of scores to print per page.
- There is a new useaccs parameter to let you tell Mup to print without printing a key signature, but fill in accidentals as needed to make the notes match the key signature, or to use a notation style where all accidentals are explicitly shown.
- There is also a new carryaccs parameter to let you tell Mup whether you want it to follow the normal convention that accidentals carry through to the end of the current measure (or until explicitly changed), or whether you want accidentals to apply only to the chord where they are specified.
- There is a new measnumstyle parameter that lets you control whether the measure numbers placed at the beginning of scores (as turned on by the measnum parameter) are placed inside boxes or circles or left plain.
- Failure to provide enough chords, rests, spaces, or lyrics in a measure to add up to the time signature has been changed from an error to a warning, with Mup supplying enough space to fill out the measure. This may be useful if you are still in the middle of composing, but want to look at what you have so far, even though you are only partly done with a measure. It could also be useful when entering chant or other music with an erratic number of beats between bar lines. You could just set a time signature larger than the largest "measure" you will have, and fill in as many notes as you need in each measure. Various other things that used to be treated as errors have also been relaxed to be only warnings, to be more forgiving of some typos, or things that while not strictly correct, can be safely ignored.
- When there are multiple voices overlapping, notation experts generally agree that all accidentals should be placed left of the leftmost voice. There used to be a few cases where Mup placed them between voices when that was not strictly necessary. This has been changed to only place accidentals between voices when absolutely necessary to avoid ambiguity: when voices have conflicting accidentals.
- There is a new align tag that can be applied to rom, ital, bold, boldital, and crescendo and decrescendo marks, to force several such items to be aligned vertically.

## New Features in Mup Version 5.3

Version 5.3 is primarily focused on ease of use enhancements. The largest item is the additional of a companion program, called Mupmate, that provides an interface for editing, displaying, and playing Mup files with the kinds of menus and windows that many people are used to. The Help menu will take you right to the Mup User's Guide, which has also had improvements made. If you are a user who prefers the command line interface that Mup has always had, don't worry; we like to use that too, and have no intention of dropping support for it.

Windows users now only need to download a single file and execute it to install everything (although you still need to get and install GSview and Ghostscript separately, if you want to use that for viewing the PostScript files). Other users can also just download a single file that contains both program and documentation.

Other new features in 5.3 include:

- Error and warning messages have been enhanced to show you the text of the line of input where the problem was found.
- There is a new pagesize parameter that lets you specify paper size by common names like letter or a4, as an alternate to specifying pageheight and pagewidth in inches or cm.
- There is a new vcombine parameter, that lets you enter notes on separate voices, yet have them printed on a common stem when possible. Typical uses are:
  - To have separate MIDI tracks for different voices, yet have the voices printed on common stems.
  - For a style of printing where a single stem is used for the two voices on a staff except when the voices share a common note, when two opposing stems are printed.
- The scorepad parameter now accepts an optional maximum value, in addition to the minimum value.

## New Features in Mup Version 5.2

- There is now a generalized 'if' clause' that is much more flexible and powerful than the simple ifdef and ifndef. These provide capabilities somewhat similar to the preprocessors for the C and C++ languages.
- Complicated time signatures are now supported. This includes a numerator with two or more numbers added together, like 3+4 / 4, or two or more fractions added together, like 3/4 + 3/8. Alternating time signatures, such as when a piece continuously switches between 3/4 and 6/8, are also supported.
- The beamstyle and timeunit parameter values associated with a time signature are now remembered, so that if you later change back to the same time signature, you don't have to also set the beamstyle and timeunit at the same time; the value used previously for that time signature will be restored automatically. (Note that if you have existing Mup files that rely on the old behavior, they may need small modifications, but that should be rare.)
- It is now possible to force stem directionon voices 1 and 2 even when the other voice is not space.
- Improvements have been made to how the angle for beams is calculated. The "best" angle for a beam is sometimes somewhat subjective, but in general, these changes will result in more cases where beams are horizontal or less sloped,
- There are also additional ways you can control beams: A new slope interchord attribute lets you force a specific slope. The new stemshorten parameter lets you determine how much a chord's stem is allowed to be shortened when it is beamed. And the existing len chord attribute can now be set for just one end of a beamed set of chords as an alternative to setting it at both ends.
- The HTML version of the Mup User's Guide now includes 'next page' and 'previous page' links on each page.

## New Features in Mup Version 5.1

- You may specify a time value that is the summation of several time values. This can be used to obtain beaming, lyrics, or tuplets with durations that cannot be represented with a single time value, like a half note plus an eighth note. It also gives an alternate way to specify chord ties.
- Cross-staff stems are now supported.
- You can now explicitly specify a direction of "up" on rolls to get an upward arrow drawn at the top of the roll. (Before, only a downward roll would get an arrow.)
- Mup will now allow you to beam across spaces as well as rests.
- There is a new restsymmult parameter. Setting it to y will cause Mup to use an alternate style for multirests of eight measures or less, which uses rest symbols.
- There is a new string sequence that will be replaced by the page number of the last page. This may useful to be able to automatically get output like "Page 2 of 4 pages."
- There is a new option for printing of tuplet numbers, where the number is always printed, but the bracket is never printed.
- If you want to have the same lyrics above some staffs and below others, it is now possible to specify that on a single input line, rather than requiring two.
- Improvements have been made to how voice 3 is placed, which will often eliminate the need to manually specify a horizontal offset.

## New Features in Mup Version 5.0

- Mup now supports the shaped notes often used in "Sacred Harp" music, also sometimes called "fasola" notation. New note head characters are available for the most common system of 4 shapes, as well as a system with 7 shapes. As part of this feature, there is a new headshape context and a new noteheads parameter that lets you define what shapes will be used for notes.
- Note head shapes can also be specified on specific chords or a specific note within a chord. This makes it possible to do things like have both normal and X-shaped notes on the same stem.
- There are new "slash" note heads, often used to indicate repeated chords, and a new "blankhead" note head, that can be used if you just want a stem without any note head.
- There is a new stemlen parameter that lets you set the default stem length. A common use for this would be to set this parameter to 0.0, to not have any stems at all (sometimes used for chant).
- It is now possible to change the clef, defoct, and release parameters in the middle of a measure.
- You can now include raw PostScript in the input to the copied to the output. This could be used, for example, to include a picture or logo with your music.
- In addition to the old way of specifying key signature, by stating the number of sharps or flats, it is now possible to specify the key by name, as in "a major" or "c# minor."
- There is a new swingunit parameter. Some styles of music are often written with straight eighth notes or dotted-eighth-sixteeen notations, but where the players "know" that the composer really wants the music played with the first note in each pair twice as long as the second, as if it were a quarter-eighth triplet. This parameter will make Mup's MIDI output automatically follow that kind of performance convention.
- It is possible to set the rehearsal letter or number to a specific value, to override the automatic incrementing. This might be especially useful when there are multiple songs or movements in a single Mup file.

## New Features in Mup Version 4.6

- There are new top, bottom, top2, and bottom2 contexts that let you define a second layer of headers and footers. These new contexts can be changed multiple times in a file, so you can use different headings and footing for different songs or movements within a file.
- There is a new "block" context, that lets you place blocks of text in your musical scores.
- There is a new paragraph command for printing long sections of text that you would like to have automatically wrapped around unto as many lines as needed. The right margin can be justified or ragged.
- For Linux, in addition to being available in tar.gz format, Mup files are now available in rpm package format, for very quick-and-easy installation. The MS-DOS/Windows Mup files are now available as self-extracting zip files, so you don't need to have an unzip program to unpack them.
- The visible parameter now accepts a value of "whereused." With this value, when a staff has no notes on an entire score, that staff is not printed. This might be used, for example, to save paper on an orchestral score by only printing staffs for instruments when they are actually playing.
- There are new parameters measnumfont, measnumfontfamily, and measnumsize, to control the appearance of automatic measure numbers.
- It is now possible to unset parameters in voice or staff context, to make them revert to their values in the next more general context where they are set (staff or score).
- When a repeatstart gets moved to the beginning of a score, sometimes you'd like the bar line at the end of the previous score to be a double bar rather than single bar. It is now possible to specify that.
- There is a new -F option that is like the -f option, except it derives the name of the output file based on the name of the input file, rather than you needing to specify an output file name.
- The Mup input file name is given in the PostScript output file, so that PostScript viewer programs like gv can use it in their window title.
- There is now a majordomo mailing list available for registered Mup users. This is a forum for talking with other Mup users, to discuss questions and tips on using Mup.

## New Features in Mup Version 4.5

- There is a new -x option that lets you extract a portion of a song. This can be especially useful for MIDI, where you might want to listen to just a few measures in the middle or end of a piece. But it also works in printing mode, so you can print just an excerpt of a piece.
- It is now possible to specify "subbeams," both with custom beaming and via the beamstyle parameter. This can be used when there are a lot of very short notes, and you want to subdivide the beam groupings.
- The drawing of phrase marks, ties, and slurs has been re-implemented to produce more aesthetically pleasing curves.
- There is a new special character, called \(space), which is printed like a normal space on output, but which is not treated like a space when Mup is looking for word or syllable boundaries. The most common use for this would probably be on chant lyrics, where you want several words to be sung to the same note. It might also be useful in cases where Mup would normally split a long string at a word boundary to avoid running off the edge of a page, but for some reason you want to prevent that splitting.
- It is possible to print a text string centered above a line. This is likely to be the most useful for printing "gliss." by a wavy line for a glissando, but it can be used on any kind of line.
- There are some new user-donated files, including a Windows installer, and Mup syntax files for nedit and vim.

## New Features in Mup Version 4.4

- Many of the changes in this release were to make Mup conform more closely with established guidelines or rules for musical notation. This mainly involved small adjustments to cosmetic details, like how accidentals and dots are placed. For mid-score clef changes, the clef is now placed before the barline, as it should be, rather than after. There is also an improved algorithm for determining where to end the underscores on lyrics.
- The use of labels, both labels associated with individual staffs and labels associated with staffs grouped by braces or brackets, has been made more flexible. It used to be that the "label" was only used on the very first score, with "label2" used on all subsequent scores. Thus resetting label after the beginning really had no effect. Now, however, whenever a new label is specified, that label will be used for the next score, going back to label2 for subsequent scores. As an example, this might be useful if staff 1 was used for just soprano at the beginning of the song, so you wanted label="Soprano" and label2="S" for that portion, but later soprano and alto share the staff, so you would like label="Soprano/alto" to clearly point out the change, but then revert to just "SA" on subsequent staffs, to conserve space.
- You can specify a bulge direction for note ties, note slurs, chord ties, and chord slurs, if you wish to override Mup's choice of direction.
- You can now use \s(PV) or \s(previous) in a text string to return to the previous size.
- The 8treble clef is now supported. This is like the treble8 clef, except the 8 is printed above the G clef rather than below it, to show notes that sound an octave higher than a normal treble clef.
- Phrase marks can now have an optional line type modifier of dotted or dashed.

## New Features in Mup Version 4.3

- There is a new rehstyle parameter that controls whether rehearsal marks are boxed, circled, or plain.
- It is no longer necessary to specify verse numbers for lyrics (unless you want to skip a verse). If not specified, each succeeding set of lyrics for a given staff and place defaults to having a verse number one more than the previous verse.
- There is a new way to force the position of individual lyrics syllables that is particularly useful for ensuring that verse numbers or the beginnings of poetic lines align consistently on all verses.
- There are new -E and -C options that let you see how macros expand, which can help you in debugging very complex macros.
- There is a new staffpad parameter, and the value of the scorepad parameter can now be negative. Using negative values for these can let you jam staffs or scores closer together in cases where Mup is spacing them wider apart than is really necessary.
- It is now possible to have more than one voice on tablature staffs just like on non-tablature.
- It is now possible to temporarily override margins on a particular score. This can let you indent one score differently than the others, or end a piece with a shorter-than-normal score.
- There is now an "alt pedstar" value for the pedstyle parameter This is like the "pedstar" value except that when there is a pedal "bounce," only a "Ped" is printed, rather than a "* Ped."
- There is a new user-donated program called Winmup which provides a Windows front-end for the MS-DOS version of Mup. The Visual Basic source code for Winmup is also available.
- Several miscellaneous changes were made to improve the quality of printed output and to improve portability. Current Mup users may find the layout of some songs may change somewhat when they upgrade.

## New Features in Mup Version 4.2

- A third voice per staff is now supported.
- It is now possible to adjust the horizontal placement of notes.
- It is now possible to beam across rests.
- The optional automatic measure numbers at the beginnings of scores are now printed in a larger size.
- The chord-at-a-time input style has been made more versatile. Previously, if a voice was mentioned in a pattern, that voice could not be used for voice-at-a-time input style in that measure, even if the pattern was never actually used. Now the restriction only applies if the pattern is actually used.
- Strings can be printed enclosed in a circle or elipse.
- There is a new beamslope parameter that controls the maximum tilt for beams.
- There is a new pad parameter that provides an additional way to control how close together note groups are placed horizontally.
- There is a new MIDI "port" keyword. This can let you assign different tracks to different ports on multi-port MIDI devices, allowing for more than 16 channels.
- The minimum values for the scoresep and staffsep parameters can now be set as low as 6, rather than the previous minimum of 9.

## New Features in Mup Version 4.1

- Guitar grids can now be printed, either where they are used in the music, or summarized at the end of a song. There is also a library of pre-defined grids that you can "include" in your music.
- Non-ASCII characters from the Latin-1 alphabet can now be typed directly into strings in Mup input, rather than needing to be specified by name. Shortcut names have also been added for guillemots.
- The maximum number of staffs has been raised to 40.
- The stafflines and staffscale parameters can now be changed at any bar line rather than only at the beginning of a song. Changing either of them forces a new score.
- The staffsep parameter can now be set on a per-staff basis, rather than just for the score as a whole.
- There are new parameters that allow you to control the order that items above, below, and between staffs are stacked.
- It is now possible to turn off the automatic numbering of measure repeats and the printing of multirest numbers.
- It is now possible to specify the vertical placement of a rest character, if you want to override Mup's automatic placement.
- It is now possible to concatenate strings. This is likely to be most useful in macros, but can be used anywhere strings are used.
- There is a new firstpage parameter, which is similar to the -p command line option, for setting the first page number.
- There is a new restcombine parameter, which is similar to the -c command line option, for automatically combining a sequences of rest measures into multirests.
- Music symbols that occur inside ital or boldital strings will automatically be made italics to match the string.
- It is possible to vertically center lyrics. This is useful when there is a refrain with identical words for all verses, and you only want it printed once.
- It is now allowed to have a brace to the left of brackets, to group a subset of staffs. (Previously, only brackets were allowed to be nested that way.)

## New Features in Mup Version 4.0

- There is now an alternate input style, in which you can enter music a chord at a time rather than a voice at a time. For certain kinds of music, this may be more natural, and allow you to enter music more quickly. The previous input style has also been made more flexible, such that it is now possible to specify that one line of input will go to voice 1 on one staff or set of staffs and voice 2 on another staff or set of staffs. These enhancements make it easier to do things like input a vocal score and automatically get a piano reduction.
- It is now possible to transform a parameter passed to a macro into a string. If you are a C programmer, you will find this works somewhat like the # operator of ANSI C preprocessor macros. If you're not a C programmer, suffice it to say that this allows Mup macros to be used to do things they couldn't do before.
- There is a new special bar type, called restart, that lets you end the current set of staffs and begin a new set of staffs on the same line, as is sometimes done for a short coda.
- The symbols for accidentals (like # and &) are now translated to their corresponding musical symbols everywhere in chords, rather than only if they immediately follow the letters A through G. You can, however, turn off this automatic translation for individual cases where you want them to be treated literally.
- Quadruple whole rests are supported.
- It is possible to force a measure rest to be shown with a rest symbol other than the whole rest symbol that is usually used.
- There is a new addtranspose parameter. This enables you to use the transpose parameter to change the transposition on specific staffs for transposing instruments, then use addtranpose to transpose the entire score into a new key.
- There is a new warn parameter which allows you to control whether warning messages are printed or not.
- There is a new ontheline parameter. This allows you to control whether notes on 1-line staffs are printed above, below, or on the line.
- The dist, chorddist, and crescdist parameters can be overridden on individual items. A dist override can also be specified on rehearsal marks. Each dist override can also include a modifier to force items to a specific place, even if they then overwrite other items that Mup would normally avoid.
- There is a new -M option which is like the -m option, except the name of the MIDI file is derived from the Mup input file name, rather than requiring you to supply a name.
- If a given input file name does not exist, Mup will try appending .mup to the name and attempt to open that file.
- It is now possible to specify an uncollapseable space. This may be useful when drawing "slash" marks and at other times.
- There is a new user-donated program called midi2mup, which is a Perl script that can convert a MIDI file to Mup input.
- The uguide gives examples of how to places verses as text blocks below the scores.

## Coming Attractions

We're always interested in hearing about what features you would like to see in the next version of Mup. What features we add will depend on your input, so please send us a note at support@arkkra.com.