7 <A HREF=
"tabstaff.html"><-- previous page
</A>
9 <A HREF=
"index.html">Table of Contents
</A> <A HREF=
"textstr.html">next page --
></A>
16 If you intend to only use the usual system of note heads,
17 you can skip over this section on shaped notes.
18 If you wish to use less common note head shapes, like X-shaped notes,
19 rather than normal note heads, or want
"shaped note
" music that is often used
20 for
"Sacred Harp
" style music, sometimes also called
"fasola notation,
"
21 then this section will explain how you can do that.
27 <A NAME=
"hdshape">The headshapes context
</A>
28 is used in conjuction with the
29 <A HREF=
"param.html#notehead">noteheads parameter
</A>
30 to determine what characters will be used when printing note heads.
31 It is rarely necessary to include a headshapes context in your music,
32 since Mup already has the most common values built in,
33 so generally you just need to use the
34 <A HREF=
"param.html#notehead">noteheads parameter
</A>
35 to access them. However, it is still important to understand
36 what the headshapes context can contain,
37 to understand how the builtin values work.
40 The headshapes context defines, for
41 a given head shape name, what specific note head characters
42 to use for the notes of various durations.
43 It contains one or more pairs of strings.
44 The first string in the pair gives a name for a set of note head shapes.
45 The second string contains a space-separated list of the names
46 of
4 note head characters to use for that head shape name.
47 The first shape in the list is used for quarter notes and shorter,
48 the second for half notes,
49 the third for whole notes, and the fourth for double whole notes.
52 If an upside down version of the character is to be used for stem down notes,
53 the name is prefixed by
"u?
" (The
"u
" stands for
"upside-down
" and the
54 question mark is intended to be mnemonic for the fact
55 that the upside down version
56 will only be used part of the time, namely for stem-down notes.)
59 As was mentioned above, the most common mappings are already built into Mup.
60 Here is the list of the pre-defined values.
61 Pay particular attention to the first string on each line,
62 since those are the names you will use in the
63 <A HREF=
"param.html#notehead">notehead parameter
</A>
65 <A HREF=
"shaped.html#chord">overriding chord
</A>
67 <A HREF=
"shaped.html#note">note shapes.
</A>
71 <TD>"norm
"</TD> <TD>"4n
2n
1n dblwhole
"</TD>
74 <TD>"x
"</TD> <TD>"xnote diamond diamond dwhdiamond
"</TD>
77 <TD>"allx
"</TD> <TD>"xnote xnote xnote xnote
"</TD>
80 <TD>"diam
"</TD> <TD>"filldiamond diamond diamond dwhdiamond
"</TD>
83 <TD>"blank
"</TD> <TD>"blankhead blankhead blankhead blankhead
"</TD>
86 <TD>"righttri
"</TD> <TD>"u?fillrighttriangle u?righttriangle u?righttriangle u?dwhrighttriangle
"</TD>
89 <TD>"isostri
"</TD> <TD>"fillisostriangle isostriangle isostriangle dwhisostriangle
"</TD>
92 <TD>"rect
"</TD> <TD>"fillrectangle rectangle rectangle dwhrectangle
"</TD>
95 <TD>"pie
"</TD> <TD>"fillpiewedge piewedge piewedge dwhpiewedge
"</TD>
98 <TD>"semicirc
"</TD> <TD>"fillsemicircle semicircle semicircle dwhsemicircle
"</TD>
101 <TD>"slash
"</TD> <TD>"fillslashhead slashhead slashhead dwhslashhead
"</TD>
104 <TD>"allslash
"</TD> <TD>"fillslashhead fillslashhead fillslashhead fillslashhead
"</TD>
110 You can redefine these or define new ones if you wish.
111 The name (the first of the two strings in the pair)
112 can be almost anything you want.
113 The four names in the second string must be taken from the list of
114 valid note head characters given below:
118 filldiamond diamond dwhdiamond
119 fillisostriangle isostriangle dwhisostriangle
120 fillpiewedge piewedge dwhpiewedge
121 fillrectangle rectangle dwhrectangle
122 fillrighttriangle righttriangle dwhrighttriangle
123 ufillrighttriangle urighttriangle udwhrighttriangle
124 fillsemicircle semicircle dwhsemicircle
125 fillslashhead slashhead dwhslashhead
129 The righttriangle shape names can be prefixed by u? when
130 used in the headshapes context, to indicate the upside down version of them should
131 be used when the stem is down. Note that u? cannot be used on any other
132 note head characters, since none of the others have a corresponding
136 As an example of how you could use the headshapes context,
137 suppose you wished to use xnote for half notes and shorter,
138 and diamond for longer notes.
139 That is different than either of the builtin values
"x
" or
"allx
"
140 but you could override one of them:
143 "x
" "xnote xnote diamond diamond
"
147 The blankhead does not print any head at all, it just leaves space as if
148 there were a note head. It might be used if for some reason you just want
155 <A HREF=
"param.html#notehead">The noteheads parameter
</A>
156 describes which note head shape to use for each pitch
157 in the scale. It can be specified in score, staff, or voice contexts.
158 If you want to use the same shape for all pitches,
159 (as is the case with standard notation), only one shape name is specified.
160 Thus the default value for this parameter is
162 noteheads =
"norm
"
166 If you want to use different shapes for different pitches,
167 the noteheads value needs to be a string containing a list of
7 shape names.
168 They are listed from the
"tonic
" of the major key up the scale,
169 with the key based on the number of sharps or flats in the
170 <A HREF=
"param.html#key">key signature.
</A>
171 The shape names must be from the list of pre-defined head shapes (norm,
172 xnote, diam, blank, righttri, isostri, rect, pie, semicirc, slash),
173 or names that you have given as the first in a pair of strings
174 in the headshapes context.
177 You can get the most common shaped note system using
4 shapes using:
179 noteheads =
"righttri norm rect righttri norm rect diam
"
181 There are several shaped notes systems using
7 different shapes.
182 One such system is specified by:
184 noteheads =
"isostri semicirc diam righttri norm rect pie
"
188 Once the noteheads parameter is set,
189 you specify your music just like you would for standard notation,
190 but Mup will use the appropriate note heads based on your specifications.
195 // Use a
7-shaped system.
196 noteheads =
"isostri semicirc diam righttri norm rect pie
"
198 // Noteheads are given in order for the major key,
199 // so we'll start out with an example in major.
204 // Do a descending scale in D major
212 // Now we switch to D minor, where the
"tonic
"
213 // will start at the rect and then wrap around.
218 // Do a descending scale in D minor
225 <IMG SRC=
"mugex60.gif" ALT=
"Picture of Mup output"><BR>
228 Overriding chord note heads
231 <A NAME=
"chord">It is possible to override what note shape to use for a chord,
</A>
232 by giving
"hs
" followed by a head shape name from the headshapes context,
233 inside square brackets.
236 [hs
"righttri
"]
238 would use the
"righttri
" headshape. The specific character to use would be
239 based on the group's duration. In other words, if the chord was a
240 quarter note or shorter, the
"fillrighttriangle
" note head would be used,
241 but if the chord was a half or whole note, a
"righttriangle
" note head would be
242 used, and a
"dwhrighttriangle
" would be used for a double whole note.
245 The hs specification can be used along with other things that can go in the
246 square brackets. For example,
248 [hs
"blank
"; len
0]
250 would use blankheads and no stem, resulting in no chord being printed at all!
253 Overriding individual note heads
256 <A NAME=
"note">If you want to override the note head shape to be used for one specific
</A>
257 note in a chord, you use hs followed by the head shape name
258 as a string after the note.
260 1: cg e+ hs
"diam
"; f a hs
"x
" c+;
2ge+;
263 <IMG SRC=
"mugex61.gif" ALT=
"Picture of Mup output"><BR>
266 Putting it all together to use shaped notes
270 note head shapes can be specified in five different places: per note,
271 per chord, in voice context, in staff context, and in score context.
272 When deciding what note head shape to use, Mup checks for specifications
273 in that order, using the first it finds.
276 Since fret numbers are used rather than note heads on
277 <A HREF=
"tabstaff.html">tablature staffs,
</A>
278 the only head shape name that is allowed is
"allx.
"
279 which is used for
"muffled
" notes.
282 Here is a simple example of shaped notes, using the common
4-shape system.
285 noteheads =
"righttri norm rect righttri norm rect diam
"
308 <IMG SRC=
"mugex62.gif" ALT=
"Picture of Mup output"><BR>
311 Here is an example of using the same note head shape for all pitches,
312 illustrating how the proper version--filled or open--of the note head
313 is used, based on the note's duration.
323 score noteheads=
"isostri
"
328 score noteheads=
"rect
"
333 score noteheads=
"pie
"
338 score noteheads=
"x
"
343 score noteheads=
"slash
"
348 <IMG SRC=
"mugex63.gif" ALT=
"Picture of Mup output"><BR>
351 And finally, here is a somewhat silly example that demonstrates how
352 you can use the various shaped notes features to get any kind of
353 note head that Mup supports anywhere you want.
356 // Make some user-defined head shapes.
357 // These combinations don't really make sense;
358 // they are just to demonstrate what you can do.
359 "reg
" "4n
2n
2n
2n
"
360 "other
" "fillrectangle diamond isostriangle dblwhole
"
363 // Set notesheads, using an arbitrary mixture of builtin
364 // and user-defined head shapes.
365 noteheads=
"norm reg other reg reg other righttri
"
381 // do some shape overrides, both on group and note
382 1: [ hs
"pie
" ]
2ce; [hs
"isostri
"] c e g hs
"righttri
";
385 <IMG SRC=
"mugex64.gif" ALT=
"Picture of Mup output"><BR>
388 <A HREF=
"tabstaff.html"><-- previous page
</A> <A HREF=
"index.html">Table of Contents
</A> <A HREF=
"textstr.html">next page --
></A>