X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/mup/blobdiff_plain/cdb3c0882392596f814cf939cbfbd38adc6f2bfe..ddf6330b56bcfb657e0186b24b9b1422c51d3424:/mup/docs/uguide/chrdattr.html diff --git a/mup/docs/uguide/chrdattr.html b/mup/docs/uguide/chrdattr.html new file mode 100644 index 0000000..a6b76b1 --- /dev/null +++ b/mup/docs/uguide/chrdattr.html @@ -0,0 +1,392 @@ + +
+ <-- previous page + + Table of Contents next page --> +
+ ++There are optional attributes that are associated with an entire chord +rather than an individual note. These are put inside square brackets +before the list of notes and the time value. +There are several classes of information: +
+Each class of information is +separated from the other by a semicolon. All classes are optional, and can +occur in any order. +
++Several chord styles can be specified. +Grace note chords are designated by the word "grace," or cue note chords by "cue." +Grace notes can be specified as any undotted time value of eighth note or +shorter, but are treated as taking no time. The time value given is merely used +to specify how many flags or beams to put on the grace note. +You can also specify a quarter note grace note, which will be printed as a +small, stemless note, as is used to show +a "prebend" in guitar music. +(Actually, you can force a stem if you want, by specifying a +len, as is described later.) +Cue notes have time like regular notes, but they are printed smaller. +If there are several grace notes in a row, they will be beamed automatically. +However, you cannot mix quarter (stemless) grace notes with shorter ones. +Cue notes follow the same beaming rules as regular notes. +
+
+It is also possible to specify "diam," or "xnote."
+In the case of "diam," the chords will be drawn with diamond-shaped notes,
+while with "xnote," the chords will be
+drawn with X-shaped notes. A diamond shaped
+note head will be used for xnotes that are half note or longer.
+Here are some examples:
+
+[grace] +
+[xnote] +
+[cue; xnote] +
+[diam] +
+If you want to have the
+note heads in a chord
+use a shape other than the
+normal shapes, you use hs followed by the name of the head shape in quotes.
+There is an entire
+section on shaped notes,
+so only the basics are covered here. The xnote and diam
+described above
+are really just shorthands for two common head shapes.
+The method using hs lets you use many other note head styles,
+such as a slash, or triangle.
+
+1: [hs "righttri"]cf; [hs "slash"]fa; +
+The +section on shaped notes +lists all the builtin head shape names, +and explains how you can define your own. +
++It is possible to specify one or more musical symbols or text strings to be printed with a chord. +This is typically used for +things like staccato and accent marks. The word "with" +is followed by one or more things to print. If there are more than one, they +are separated by commas. They will be printed outwards from the notes in +the order specified. +The "with" list is only allowed on note groups, not rests. +The list can include symbols from the following table: +
Symbol | Meaning | +
. | staccato | +
- | legato | +
> | accent | +
^ | accent | +
+A quoted string +can also be specified (e.g., "ff", "adagio", etc.). +This will be printed in the font and size specified by the +"fontfamily," +"font," +and +"size" +parameters. Any of the +special music characters can be printed by using the usual convention, +e.g., \(ferm) for a fermata. +(This is described in a +later section.) +However, it is usually preferable to use the printing of +text strings relative to beats. +
+
+Here are some examples:
+
+[with ., -] +[with ^, "\(ferm)"] +[with "sfz"; cue] +
+If the symbols acc_hat, ferm, or wedge are used by themselves in a "with" +list item, they are handled specially. If the stem direction is such that +the upside down versions of these characters should be used, the upside down +version will be used. +
+
+Diagonal lines to be drawn through the stem of the group
+can be specified using
+
+slash N +
+[slash 2] +[grace; slash 1] +
+The chord stem direction can be specified as "up" or "down".
+Normally Mup chooses the stem direction, but once in a while you
+may want to override its choice. There are some restrictions.
+You cannot specify a direction on grace notes. All chords beamed
+together and the pair of chords in an
+alternation pair
+(described later)
+must have the same stem direction.
+Examples:
+
+[up] +[down] +
+For voice 3, stem direction works a little differently. By default, the +stem direction for voice 3 is up, +but for voice 3 on any given staff, when you specify a stem +direction, that direction will remain in effect until explicitly changed. +Thus, for example, if you want all voice 3 stems on a given staff +in an entire song to +be down, you only need to specify "[down]" on the first chord. +
+
+Normally, Mup sets stem lengths as appropriate, but sometimes you might
+want to make a stem longer or shorter than normal. This is done with
+the keyword "len" followed by a length in stepsizes.
+Some examples:
+
+[ len 14 ] +[ len 7; up ] +
+You cannot specify stem length on chords inside of beams. +The len can be set to 0 to produce a note head with no stem at all. +
++There is a +stemlen parameter +that can be used to set the default stem length. +If you don't want any stems, setting that parameter to 0 is more +convenient than setting len to 0 on each chord individually. +
++On beamed chords, Mup will sometimes shorten a stem slightly +from its normal minimum length. By default it will never shorten by +more than one stemsize, but there is a +stemshorten parameter +that lets you adjust how much it will shorten. If you don't want Mup +to ever shorten stems, you can set this parameter to zero. +
+
+Sometimes it may be desirable to space notes somewhat differently than
+Mup would normally place them.
+It is possible to specify "padding" before any note group.
+This is done by specifying the word "pad" followed
+by a number of stepsizes of white space padding to add before the chord.
+The number can be fractional, as in 0.5 or 2.25.
+For example:
+
+[ pad 2.5 ] +
+The padding can also be negative. Padding affects the minimum amount of +width allocated to a chord, so you can use positive padding values to +force additional room in front of a chord, or negative padding to allow +things closer together. +
+
+It is possible to set a location tag
+which is
+associated with an entire chord
+rather than an individual note. This
+tag
+is specified like
+location tags for notes,
+with an "=" followed by a name, but is inside
+the square brackets rather than after a note.
+
+3: 2cf; [=h] egc+; +1: [cue; with >; =_ch] fa; +
+A horizontal offset can be applied to a chord by specifying "ho" followed +by a number of stepsizes. The number can be positive or negative, +and can include a fractional part. A positive number will cause the chord to +be placed that far right of where the horizontal center of the chord +would normally be; a negative number will place it that far to the left. +It is also possible to simply specify a "+" or "-" which says to place the +chord to the right or left, +as close as possible without running into something. +
++A horizontal offset is most commonly used on the third voice of a staff, +although it can be used on other voices too. +By default, Mup places third +voice chords as close as it thinks is safe for avoiding +most collisions. Sometimes it may actually be okay visually +to place the chord a little closer than that, +or perhaps there is a better "nook" to tuck it into on the left side. +By specifying a horizontal offset, you can place chords anywhere you want. +Mup makes no checks to avoid collisions when you specify a horizontal +offset, so this attribute needs to be used with some care. +
+
+Here is an example of the use of horizontal offset and stem direction
+on voice 3.
+
+score + vscheme=3f + +music +1 1: c+;b;a;c+; +1 2: e;d;e;f; +1 3: [ho+1] g; [ho-5.2; down]; [ho-] f; [ho+; up] a; +bar +
+Usually Mup's placement of rests is satisfactory, but once in a while
+you might want to force a rest to be placed a little higher or lower
+than Mup would place it. You can specify a "dist" which is the number
+of stepsizes from the center of the staff to place the rest symbol,
+with positive numbers being above the center and negative numbers below.
+If the staff is
+transposed,
+the placement of the rest symbol will be adjusted accordingly.
+
+// The first and last rests are in normal position. +// The second is forced higher, the third is forced lower. +1: r; [dist 6]; [dist -4]; r; +bar +
+If two or more chords in a row have the same bracketed attributes,
+there are two shorthand notations. Specifying an empty set of brackets "[]"
+means to use the same attributes as were specified on the previous chord.
+The previous chord must be within the same measure.
+Some examples:
+
+1: [cue] 4c;[]d;[grace; slash 1] 8f;2e; +bar + +1: d; [with .,-]d; []e; []f; +bar +
+The other shorthand is to put 3 dots after a set of bracketed items.
+This means to repeat the same bracketed items on all chords for the
+rest of the measure, or until a new set of bracketed items is specified.
+If you wish to cancel this before the end of a measure but without
+specifying a new set, the special set "[-]" can be used.
+
+// put staccato marks on all notes +1: [with .]... c; d; e; g; +bar +// put several cue size notes in the middle of a measure +1: c; [cue]... 8d; f; e; g; [-] 4c+; +bar +
+You can use more than one set of backets on a single chord. +For example "[len 5][down]" and "[len 5;down]" are equivalent. +However, [-] can only be used by itself, and if you want to use [] along +with another backeted set of items (to duplicate the items on the previous +chord plus add some more), the empty [] needs to be first, before the +other set of items. +
+