
                             New Mup Features

       1.  New Mup Features

       1.1  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.)

       1.2  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.

       1.3  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.

       1.4  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 direction on 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.

       1.5  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.

       1.6  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.

       1.7  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.

       1.8  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.

       1.9  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 <I>higher</I> than a normal treble clef.

          - Phrase marks can now have an optional line type
            modifier of dotted or dashed.

       1.10  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.

       1.11  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.

       1.12  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.)

       1.13  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.

       1.14  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.
