+2002-02-25 Han-Wen <hanwen@cs.uu.nl>
+
+ * VERSION: 1.5.33 released.
+
+ * mf/feta-macros.mf (flare_path): removed draw_flare, replace by
+ flare_path everywhere (c-clef, numbers).
+
+ * lily/bar-number-engraver.cc (process_music): also print bar
+ number if measure starts with grace note.
+
+ * input/regression/grace-bar-number.ly: new test.
+
+2002-02-24 Han-Wen <hanwen@cs.uu.nl>
+
+ * lily/figured-bass-engraver.cc (stop_translation_timestep): reset
+ rest as well.
+
+ * scm/music-functions.scm (voicify-music): split chords into
+ different voices automatically.
+
+ * lily/music.cc (ly_music_list_p): new function
+
+ * lily/music-sequence.cc (do_relative_octave): robustification
+
+ * scm/music-functions.scm: many utility functions
+
+ * lily/music.cc (ly_set_mus_property): add type checks to the
+ Scheme property assignment.
+
+ * buildscripts/lilypond-profile,lilypond-login.sh (TEXCONFIG):
+ dvips fixes
+
+ * mf/lilypond.map: .map file from Mats' page.
+
+2002-02-21 Juergen Reuter <reuter@ipd.uka.de>
+
+ * Some more parmesan related fixes;
+
+ * Custos: varying shape (in particular, stem length), depending on the
+ vertical position of the custos (on staffline / between stafflines);
+
+ * Custos: added grob property "neutral-direction" (same semantics as
+ with stem); introduced new grob property "neutral-position";
+
+ * Time-signature: print a warning when resorting to default layout.
+
+2002-02-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * lily/translator-group.cc (add_fresh_simple_translator): remove
+ function; initialize() is called through
+ Translator_group::initialize().
+
+ * lily/third-try.cc (prune_loose_colunms): add constraints (rods)
+ for the neighbors of a loose column.
+
+ * lily/line-of-score.cc (set_loose_columns): be more intelligent:
+ position loose columns so that they don't collide.
+
2002-02-21 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ * VERSION: 1.5.32 released.
+
* scm/font.scm: remove font-name symbol.
* mf/GNUmakefile: use pktrace for making PFAs
- * make/lilypond.redhat.spec.in: use pktrace when making specs
+ * make/lilypond.redhat.spec.in: use pktrace when making RPMs
* lily/rest-collision.cc (do_shift): read direction field from
rest-column in case of note-rest collision. This should fix some
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=5
-PATCH_LEVEL=32
+PATCH_LEVEL=33
MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
['afm=', 'outdir=', 'dep=', 'tex=', 'debug', 'help', 'package='])
-texfile_nm = '';
+texfile_nm = ''
depfile_nm = ''
afmfile_nm = ''
outdir_prefix = '.'
print o
raise getopt.error
+base = re.sub ('.tex$', '', texfile_nm)
+
for filenm in files:
(g,m, deps) = parse_logfile (filenm)
cs = tfm_checksum (re.sub ('.log$', '.tfm', filenm))
write_afm_metric (afm, g,m)
write_tex_defs (open (texfile_nm, 'w'), g, m)
- write_deps (open (depfile_nm, 'wb'), deps, [texfile_nm, afmfile_nm])
+ write_deps (open (depfile_nm, 'wb'), deps, [base + '.dvi', texfile_nm, afmfile_nm])
w = sneaky_insert_extra_moment (w);
- // cout << "Proccing " << w << endl;
+ //cout << "Proccing " << w << endl;
if (first)
% input feta-bolletjes;
% input feta-banier;
% input feta-eindelijk;
-% input feta-klef;
+ input feta-klef;
% input feta-toevallig;
- input feta-schrift;
+% input feta-schrift;
% input feta-haak;
% input feta-timesig;
% input feta-pendaal;
penpos6(norm-hair,90);
z6=(xoff+3/4norm,0);
- penpos7(hair,-90);
- z7r=(x1,-d);
save t; t=0.833;
save p; path p;
p = z5l..z4l{up}..z4r{down}..z3r{right}..tension t..z2r{up}
- ..tension t..z1r{left}..z1l{right}..tension t..z2l{down}
+ ..tension t..
+ flare_path(z1l,180,90,hair,norm-1/2hair, -1)
+%z1r{left}..z1l{right}
+ ..tension t..z2l{down}
..z3l{left}..z6r..z5r{down};
pickup pencircle scaled 1pt#;
filldraw p..(reverse p yscaled -1)..cycle;
penlabels (1,2,3,4,5,6);
% ugh, should be bulb, not flare?
- draw_flare(z1l,180,90,hair,norm-1/2hair);
- draw_flare(z7r,180,-90,hair,norm-1/2hair);
+
enddef;
fet_beginchar ("C clef", "C", "altoclef")
% the dots, but her picture shows that the extreme is ~ 0.2 ss lower
def draw_bass_clef(expr exact_center, reduction) =
- save reduced_il, left_tilt, left_thick, ball_to_right;
- reduced_il# = staff_space# * reduction;
-
- set_horizontal_spacing;
- ball_to_right# = 2.1 reduced_il#;
- set_char_box(left_space# +
- - xpart exact_center,
- right_space# +
- xpart exact_center + ball_to_right# + 7/12 reduced_il#,
- - ypart exact_center + 2.5 reduced_il#,
- ypart exact_center +reduced_il#);
-
- define_pixels(reduced_il, ball_to_right);
- left_tilt = 5;
- left_thick = .25 reduced_il;
-
- x1r - x1l = left_thick;
- z1l = (hround_pixels(xpart exact_center),
- vround_pixels(ypart exact_center));
-
- y2 = reduced_il;
-
- x3l - x1l = ball_to_right;
- x2 = .5 [x1,x3];
- x3l - x3r = .48 reduced_il;
- y3l = -0.05 staff_space;
- x4 = x1l - stafflinethickness;
- y4 = -2.2 reduced_il;
- z5 = (x3l + 1/3 reduced_il, .5 reduced_il);
-
- penpos1(whatever, left_tilt);
- penpos2(1.2 stafflinethickness, -90);
- penpos3(whatever, 185);
- penpos4(stafflinethickness, 135);
-
- draw_bulb(1, z1r, z1l, .45 reduced_il, 1.0);
-
-
- fill z1r{up} .. z2r{right} .. tension 1.0 .. z3r{down} .. {curl 0}
- simple_serif(z4r, z4l, 90) {curl 0}
- .. z3l{up} .. tension 0.9 .. z2l{left}
- .. z1l{dir (-90 + left_tilt)} -- cycle;
- labels(2,4);
- penlabels(1,2,3,4);
-
- save dot_diam;
- 2 dot_diam = round reduction* (staff_space - stafflinethickness);
- pickup pencircle scaled dot_diam;
- drawdot z5;
- drawdot z5 yscaled -1;
+ save reduced_il, left_tilt, left_thick, ball_to_right;
+ reduced_il# = staff_space# * reduction;
+
+ set_horizontal_spacing;
+ ball_to_right# = 2.1 reduced_il#;
+ set_char_box(left_space# +
+ - xpart exact_center,
+ right_space# +
+ xpart exact_center + ball_to_right# + 7/12 reduced_il#,
+ - ypart exact_center + 2.5 reduced_il#,
+ ypart exact_center +reduced_il#);
+
+ define_pixels(reduced_il, ball_to_right);
+ left_tilt = 5;
+ left_thick = .25 reduced_il;
+
+ x1r - x1l = left_thick;
+ z1l = (hround_pixels(xpart exact_center),
+ vround_pixels(ypart exact_center));
+
+ y2 = reduced_il;
+
+ x3l - x1l = ball_to_right;
+ x2 = .5 [x1,x3];
+ x3l - x3r = .48 reduced_il;
+ y3l = -0.05 staff_space;
+ x4 = x1l - stafflinethickness;
+ y4 = -2.2 reduced_il;
+ z5 = (x3l + 1/3 reduced_il, .5 reduced_il);
+
+ penpos1(whatever, left_tilt);
+ penpos2(1.2 stafflinethickness, -90);
+ penpos3(whatever, 185);
+ penpos4(stafflinethickness, 135);
+
+ draw_bulb(1, z1r, z1l, .45 reduced_il, 1.0);
+
+
+ fill z1r{up} .. z2r{right} .. tension 1.0 .. z3r{down} .. {curl 0}
+ simple_serif(z4r, z4l, 90) {curl 0}
+ .. z3l{up} .. tension 0.9 .. z2l{left}
+ .. z1l{dir (-90 + left_tilt)} -- cycle;
+ labels(2,4);
+ penlabels(1,2,3,4);
+
+ save dot_diam;
+ 2 dot_diam = round reduction* (staff_space - stafflinethickness);
+ pickup pencircle scaled dot_diam;
+ drawdot z5;
+ drawdot z5 yscaled -1;
enddef;
+
fet_beginchar("F clef ", "F", "bassclef")
if test = 1:
draw_staff(-3,1, 0.0);
fi;
draw_bass_clef((.5 staff_space#, 0), 1.0);
fet_endchar;
+
fet_beginchar("F clef (reduced)", "F_change", "cbassclef")
draw_bass_clef((.4 staff_space#, 0),0.8);
fet_endchar;
fill z3r{z3r-z5l}..z4l..{z5r-z3l}z3l..z5r{z5r-z3l}..z6l..{z3r-z5l}z5l..cycle;
enddef;
-def draw_flare(expr pos,alpha,beta,line,flare) =
+
+
+
+
+%
+% alpha = start direction.
+% beta = which side to turn to.
+% flare = diameter of the bulb
+% line = diameter of line attachment
+% direction = is ink on left or right side (1 or -1)
+%
+def flare_path(expr pos,alpha,beta,line,flare, direction) =
begingroup;
clearxy;
penpos1(line,180+beta+alpha);
z2=z3;
penpos3(flare,0+alpha);
z3l=z1r+(1/2+0.43)*flare*dir(alpha+beta);
- z4=z2r-line*dir(alpha);
+ save taille;
+ taille = 0.0;
+ z4=z2r- line * dir(alpha);
penlabels(1,2,3,4);
pickup pencircle;
save t; t=0.833;
- fill z1r{dir(alpha)}..z3r{dir(180+alpha-beta)}..z2l{dir(alpha+180)}
+ save p;
+ path p;
+ p:=z1r{dir(alpha)}..z3r{dir(180+alpha-beta)}..z2l{dir(alpha+180)}
..z3l{dir(180+alpha+beta)}..tension t
- ..z4{dir(180+alpha+beta)}..z1l{dir(alpha+180)}..cycle;
- endgroup;
+ ..z4{dir(180+alpha+beta)}..z1l{dir(alpha+180)};
+
+ if direction = 1:
+ p
+ else:
+ reverse p
+ fi
+ endgroup
+ enddef;
+
+def flare_path_t(expr pos,alpha,beta,line, flare, bulb, direction) =
+ begingroup;
+ clearxy;
+ penpos1(line, 180+beta+alpha);
+ z1r=pos;
+ penpos2(bulb, 180+beta+alpha);
+ z2=z3;
+ penpos3(bulb, 0+alpha);
+ save taille,roundness;
+
+ taille = -0.5;
+ roundness = 0.5;
+ z3r = z1 + flare * (dir (alpha) + dir (alpha +beta));
+ z4= z2r - taille * line * dir(alpha)
+ + roundness * line *dir (alpha - beta)
+ ;
+
+ penlabels(1,2,3,4);
+ pickup pencircle;
+ save t; t=0.833;
+ save p;
+ path p;
+ p:=z1r{dir(alpha)}..z3r{dir(180+alpha-beta)}..z2l{dir(alpha+180)}
+ ..z3l{dir(180+alpha+beta)}..tension t
+ ..z4{dir(180+alpha+beta)}
+ ..z1l{dir(alpha+180)};
+
+ if direction = 1:
+ p
+ else:
+ reverse p
+ fi
+ endgroup
enddef;
+
def brush(expr a,w,b,v) =
begingroup;
draw_brush(a,w,b,v);
save t; t=tense;
fill z7{right}..z2r{right}..tension t..z3r{down}
..tension t..z4r{left}
- ..tension t..z7r{up}..tension t..z6r{right}
- ..z6l{left}..tension t..z7l{down}..z10l{up}..cycle;
- draw_flare(z6r,0,-90,hair,flare);
+ ..tension t..z7r{up}..tension t..
+ flare_path (z6r,0,-90,hair,flare, 1)
+ ..tension t..z7l{down}..z10l{up}..cycle;
+
unfill z2l{right}..tension t..z3l{down}..tension t
..z4l{left}..tension t..z10l{up}..tension t..cycle;
enddef;
penlabels(5,6);
save t; t=tense;
fill z1l{dir(beta)}..tension t..z4r{up}
- ..tension t..z5r{left}..z5l{right}
+ ..tension t..
+ flare_path(z5r,180,90,thin,flare,1)
..z4l{down}..tension t
..{dir(180+beta)}z1r..cycle;
- draw_flare(z5r,180,90,thin,flare);
fet_endchar;
fet_beginchar("Numeral 3", "3", "three")
penlabels(1,2,3,4,5,6,7);
save alpha; alpha=25;
save t; t=tense;
- fill z1l{right}..tension t..z2l{down}..z7r{dir(180+alpha)}
- ..z7l{dir(-alpha)}..z5r{down}..tension t..z6r{left}
- ..z6l{right}..tension t..z5l{up}
+ pickup pencircle scaled 1;
+% draw
+ fill
+ flare_path (z1l, 180, 90, hair, 7/8 flare, -1) ..tension t..
+ z2l{down}..z7r{dir(180+alpha)}
+ ..z7l{dir(-alpha)}..z5r{down}..tension t..
+
+ flare_path (z6r, 180, -90, hair, flare, 1) ..tension t..
+
+ z5l{up}
..tension t..z3l{left}..z4l{left}
..z4r{right}..z3r{right}..tension t..z2r{up}
- ..tension t..z1r{left}..cycle;
- draw_flare(z1l,180,90,hair,7/8flare);
- draw_flare(z6r,180,-90,hair,flare);
+ ..tension t.. cycle
+;
fet_endchar;
+
+
fet_beginchar("Numeral 4", "4", "four")
set_char_box(0, 4/5height#*widen, 0, height#);
message "w:"&decimal w;
save beta; beta=45;
save t; t=tense;
fill z8r{dir(beta)}..z9r{right}..tension t..z10r{down}
- ..tension t..z11r{left}
+ ..tension t..
+ flare_path(z11r,180,-90,hair,flare, 1)
..z11l{right}..tension t..z10l{up}..tension t
..z9l{left}..z8l{dir(180+beta+10)}..cycle;
- draw_flare(z11r,180,-90,hair,flare);
+
fet_endchar;
fet_beginchar("Numeral 6", "6", "six")
# Don't remove $(outdir)/.log's. Logs are a target!
+# we want to see botched results as well.
$(outdir)/%.dvi: %.mf
- $(METAFONT) "\nonstopmode; input $<;"
+ -$(METAFONT) "\nonstopmode; input $<;"
gftodvi $(basename $<)
mv $(basename $<).dvi $(outdir)
rm $(basename $<).*gf