def draw_shifted_too =
if test > 0:
fet_beginchar ("shifted too", "");
- set_char_box (0, 0,0,0);
+ set_char_box (0, 0, 0, 0);
currentpicture := remember_pic;
draw_staff (-2, 2, 0.5);
enddef;
-
%
% Accidentals from various sources, notably
%
%
-% Naming for microtonal
+% Naming for accidentals (including microtonal variants):
%
-% BASES SLASHES STEMS
+% BASES.SLASHES.STEMS
%
-% mirroredflat.flat.slashslash
+% Examples:
+%
+% mirroredflat.flat.slashslash
+% sharp.slashslash.stemstem (the standard sharp sign)
%
-
-% standard sharp:
-% sharp.slashslash.stemstem
-% sharp.slashslash.stem
fet_begingroup ("accidentals");
draw_staff (-2, 2, 0);
fet_endchar;
+
draw_shifted_too;
+
fet_beginchar ("1/2 Sharp", "sharp.slashslash.stem");
save stem, stemwidth;
save outer_space, interbeam;
draw_staff (-2, 2, 0);
fet_endchar;
+
draw_shifted_too;
+
fet_beginchar ("Sharp (3 beams)", "sharp.slashslashslash.stemstem");
save stem, stemx, stemwidth;
save outer_space, interbeam;
draw_staff (-2, 2, 0);
fet_endchar;
+
draw_shifted_too;
+
fet_beginchar ("1/2 Sharp (3 beams)", "sharp.slashslashslash.stem");
save stem, stemx, stemwidth;
save outer_space, interbeam;
stem := 7 / 16 * w;
outer_space := hround ((w - stemwidth) / 2);
+
w := 2 outer_space + stemwidth;
d := d - feta_space_shift;
bot y5 = -top y6 + feta_space_shift;
labels (5, 6);
-
draw_gridline (z5, z6, stemwidth);
-
remember_pic := currentpicture;
draw_staff (-2, 2, 0);
fet_endchar;
+
draw_shifted_too;
draw_staff (-2, 2, 0);
fet_endchar;
-draw_shifted_too;
+draw_shifted_too;
%
draw_staff (-2, 2, 0);
fet_endchar;
+
draw_shifted_too;
draw_staff (-2, 2, 0);
fet_endchar;
+
draw_shifted_too;
+
fet_beginchar ("Flat (slashed)", "flat.slash");
set_char_box (.4 staff_space#, .8 staff_space#,
0.6 staff_space#, 1.9 staff_space#);
draw_meta_flat (0, w, 0.31 staff_space);
+
clearxy;
+
save slope, slash_width;
slope = 0.5;
slash_width = w;
+
z1 = (0, h / 2);
- z2 = z1 - (slash_width, slash_width * slope)/2;
- z3 = z1 + (slash_width, slash_width * slope)/2;
+ z2 = z1 - (slash_width, slash_width * slope) / 2;
+ z3 = z1 + (slash_width, slash_width * slope) / 2;
pickup pencircle scaled 1.5 stafflinethickness;
- draw z2 .. z3;
+ draw z2 .. z3;
labels (1, 2, 3);
remember_pic := currentpicture;
draw_staff (-2, 2, 0);
fet_endchar;
+
fet_beginchar ("Flat (slashed twice)", "flat.slashslash");
set_char_box (.4 staff_space#, .8 staff_space#,
0.6 staff_space#, 1.9 staff_space#);
draw_meta_flat (0, w, 0.31 staff_space);
+
clearxy;
- save slope, slash_width;
+ save slope, slash_width;
slope = 0.5;
slash_width = w;
- pickup pencircle scaled 1.5 stafflinethickness;
z1 = (0, 5/12 h);
z2 = (0, 2/3 h);
- draw z1 - (slash_width, slash_width * slope)/2
- .. z1 + (slash_width, slash_width * slope)/2;
- draw z2 - (slash_width, slash_width * slope)/2
- .. z2 + (slash_width, slash_width * slope)/2;
+
+ pickup pencircle scaled 1.5 stafflinethickness;
+ draw z1 - (slash_width, slash_width * slope) / 2
+ .. z1 + (slash_width, slash_width * slope) / 2;
+ draw z2 - (slash_width, slash_width * slope) / 2
+ .. z2 + (slash_width, slash_width * slope) / 2;
labels (1, 2);
remember_pic := currentpicture;
draw_staff (-2, 2, 0);
fet_endchar;
+
fet_beginchar ("Flatflat (mirrored)", "mirroredflat.flat");
set_char_box (0, 1.6 staff_space#,
0.6 staff_space#, 1.9 staff_space#);
currentpicture := currentpicture xscaled -1;
draw_meta_flat (0, w/2, 0.31 staff_space);
- currentpicture := currentpicture shifted (w/2,0);
+ currentpicture := currentpicture shifted (w/2, 0);
penlabels (range 0 thru 11);
remember_pic := currentpicture;
draw_staff (-2, 2, 0);
fet_endchar;
-draw_shifted_too;
-
-
+draw_shifted_too;
fet_beginchar ("Semi flat", "mirroredflat");
currentpicture := currentpicture xscaled -1 shifted (w - b, 0);
fet_endchar;
+
fet_beginchar ("Semi flat", "mirroredflat.backslash");
set_char_box (.4 staff_space#, .8 staff_space#,
0.6 staff_space#, 1.9 staff_space#);
draw_meta_flat (0, w, 0.31 staff_space);
+
clearxy;
save slope, slash_width;
slope = 0.5;
slash_width = w;
+
z1 = (0, h / 2);
- z2 = z1 - (slash_width, slash_width * slope)/2;
- z3 = z1 + (slash_width, slash_width * slope)/2;
+ z2 = z1 - (slash_width, slash_width * slope) / 2;
+ z3 = z1 + (slash_width, slash_width * slope) / 2;
+
pickup pencircle scaled 1.5 stafflinethickness;
- draw z2 .. z3;
+ draw z2 .. z3;
currentpicture := currentpicture xscaled -1 shifted (w - b, 0);
labels (1, 2, 3);
-
fet_endchar;
draw_staff (-2, 2, 0);
fet_endchar;
+
draw_shifted_too;
+
fet_beginchar ("Double Sharp", "doublesharp");
save klaverblad, klaversteel;
save pat;
draw_staff (-2, 2, 0);
fet_endchar;
+
draw_shifted_too;
+
def draw_paren =
save leftindent;
draw_staff (-2, 2, 0);
fet_endchar;
+
draw_shifted_too;