Merge branch 'arkkra' into shiny
[mup] / mup / docs / whatsnew.txt
diff --git a/mup/docs/whatsnew.txt b/mup/docs/whatsnew.txt
new file mode 100644 (file)
index 0000000..797bcdf
--- /dev/null
@@ -0,0 +1,556 @@
+
+                             New Mup Features
+
+       1.  New Mup Features
+
+       1.1  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.2  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.3  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.4  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.5  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.6  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.7  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.8  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.9  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.10  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.11  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.12  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.