+pl 23
+ - feta changes: 1/4 rest, flat, bf 8-128 rest
+ - bf: cadenza
+ - bf: scripts
+ - bf: rest-collision
+ - bf: meter placement
+ - junked cpgento.sh
+*********
+
pl 22
- bf: lyric 's- Zondags
- bf: colliding accidentals: renamed translate(Real,Axis) to translate_axis()
- moved staff to centerline == 0;
********
+
pl 21
- shrinking uses more energy than stretching
- check IO error on writing (disk full?)
Most of the items are marked in the code as well, with full explanation.
grep for TODO and ugh/ugr
- * todo key-sig placement.
-
- * put errorlevel in Input
+ * LILYSOURCEDIR
+
+ * spurious "Junk beam" warnings
+
+ * standchen: warning: Excentric column (Meter dims?)
+
+
+ * optimal pagebreaking.
+
+ * put errorlevel in Input class
* AFM for font input?
* Spring_spacer:
- write a faster Spring_spacer ( without matrices if possible )
+ - use straight QP to find minimal "fitting force"
- relate energybound to linelen unitspace fontsize etc.
- used fixed point fp
Begin3
Titel: LilyPond
-Versie: 0.1.22
-Inschrijf datum: 10OCT97
+Versie: 0.1.23
+Inschrijf datum: 15OCT97
Beschrijving: LilyPond is de muziek typesetter van het GNU Project.
Het programma genereert muziek in zichtbare of
hoorbare vorm uit uit een muzikale definitie file:
jan@digicash.com (Jan Nieuwenhuizen)
Onderhouden door: hanwen@stack.nl (Han-Wen Nienhuys)
Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
- 395k lilypond-0.1.22.tar.gz
+ 395k lilypond-0.1.23.tar.gz
Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
- 395k lilypond-0.1.22.tar.gz
+ 395k lilypond-0.1.23.tar.gz
Copi"eer politie: GPL
End
Begin3
Title: LilyPond
-Version: 0.1.22
-Entered-date: 10OCT97
+Version: 0.1.23
+Entered-date: 15OCT97
Description: LilyPond is the GNU Project music typesetter. The program
generates visual or auditive output from a music
definition file: it can typeset formatted sheet music
jan@digicash.com (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps
- 395k lilypond-0.1.22.tar.gz
+ 395k lilypond-0.1.23.tar.gz
Original-site: pcnov095.win.tue.nl /pub/lilypond/
- 395k lilypond-0.1.22.tar.gz
+ 395k lilypond-0.1.23.tar.gz
Copying-policy: GPL
End
Name: lilypond
-Version: 0.1.22
+Version: 0.1.23
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.22.tar.gz
+Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-0.1.23.tar.gz
Summary: A preprocessor to make TeX typeset music.
URL: http://www.stack.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@stack.nl>
Buildroot: /tmp/lilypond-install
%description
-LilyPond is the GNU Project music typesetter. This program converts
-music definition files into visual or auditive output: it can typeset
-formatted sheet music to a TeX file and and (mechanical) performances
-to MIDI files. Features include multiple staffs, meters, clefs, keys,
-lyrics, versatile input-language, cadenzas beams, slurs, triplets.
+LilyPond is the GNU Project music typesetter. The program
+generates visual or auditive output from a music
+definition file: it can typeset formatted sheet music
+to a TeX file and play (mechanical) performances to a
+MIDI file. Features include multiple staffs, meters,
+clefs, keys, lyrics, versatile input-language,
+cadenzas, beams, slurs, triplets.
%prep
%setup
- design macro for penstroke with rounded endings
- y-refpoint for rests should be the 4th staffline (gclef: b')
- more symbols
+ * ledgerlines
+ * stem-notehead attachments.
* flags
* clefs
* some scripts:
- - piano pedals,
+ * piano pedals,
* braces.
* trills
* maxima notehead
- include important spacing dims in fetalog
- lilyrules.mf for different rules (lines) ?
- - check out Adobe Sonata/Petrucci font layout. They are the
-standard for Music fonts
- hack up GS or the mf-gray font to do round pixels
iso. square pixels. (Printers don't do square pixels.)
fet_beginchar("fermata down", "dfermata", "dfermata")
draw_fermata;
- currentpicture:=currentpicture yscaled -1 ;
- set_char_box(w#, w#, h#, 0);
-
+ y_mirror_char;
fet_endchar;
save thickness, diminish;
thickness = 2 stafflinethickness;
+ pickup pencircle scaled thickness;
% prevent blobs at crossing lines
diminish = .75;
- y1 + thickness/2 = h;
- x1 = -b;
- x2 = w;
+ top y1 = h;
+ lft x1 = -b;
+ rt x2 = w;
y2 = .25 thickness* diminish;
- z4 = (w,0);
+ rt z4 = (w,0);
x3 =0;
z3 = whatever [z1, z4];
penpos1(thickness, 90);
penpos3(thickness, 90);
- penstroke z1e .. z3e .. z2e;
- penstroke (z1e .. z3e .. z2e) yscaled -1;
+ draw z1 .. z3;
+ draw (z1 .. z3) yscaled -1;
+ draw z4;
+ penstroke z3e .. z2e;
+ penstroke (z3e .. z2e) yscaled -1;
penlabels(1,2,3);
+ labels(4);
fet_endchar;
fet_beginchar("staccato dot", "staccato", "staccato")
radius# = 2 stafflinethickness#;
define_pixels(radius, height);
- draw_brush((0,0), blot_diameter, (0, height),2 radius);
+ draw_brush((0,0), stafflinethickness, (0, height),2 radius);
set_char_box(radius#,radius#, blot_diameter#/2, height# + radius#);
enddef;
def draw_marcato =
- save fatness, thinness;
+ save fat_factor, thinness;
set_char_box(interline#/2, interline#/2, 0, 1.1 interline#);
- fatness = 3 stafflinethickness;
- thinness = .8 stafflinethickness;
- x2 - x1 + blot_diameter = fatness;
- x2 + thinness/2 = w;
-
- y1 = y2;
- y1 = thinness/2;
- z2 - z3 = whatever * (charwd, -charht);
- z1 - z4 = whatever * (charwd, -charht);
- z3 - z4 = whatever * (charwd, charht);
- y3 + thinness/2 = h;
- draw_rounded_path(z1 -- z2 -- z3 -- z4 -- cycle, thinness);
+ fat_factor = .3;
+ thinness = stafflinethickness;
pickup pencircle scaled thinness;
- z3 - z5 = whatever* (z3 - z4);
+ rt x2 = w;
+ lft x5 = -b;
bot y5 = 0;
+ top y3 = h;
+ y1 = y2 = y5;
+
+ x3 =0;
+ z1 - z4 = whatever * (charwd, -charht);
+ z4 = fat_factor [z3, z5];
+
+ filldraw z1 -- z2 -- z3 -- z4 -- cycle;
draw z3 .. z5;
enddef;
%
% The down marcato char (not very much used).
% Contrary to what some MF/TeX `gurus' believe
-% it is *point*-symmetric with the "up" version; (at least [Chlapik]
-% agrees with us)
+% it is *point*-symmetric with the "up" version; (at least [Chlapik] and
+% and [Wanske] agree with us)
%
fet_beginchar("marcato down", "dmarcato", "dmarcato")
draw_marcato;
fet_endchar;
%
-% Inspired by a computer-set version of auf dem Strom by Baerenreiter.
+% Inspired by a computer-set version of Auf dem Strom by Baerenreiter.
%
fet_beginchar("Turn","turn","turn")
save thin, thick, ball_diam, darkness;
kerning# = .75 ex#;
define_pixels(ex, ascender_extra, ascender, kerning);
+
t_overshoot = 0.03 ex;
fatness = 12/40 ex;
t_fatness = 8/10 fatness;
uitschieter = 21/40 ex;
hair_thick = blot_diameter;
bulb_size = 0.47;
- slant = .15;
+ slant = .2;
local_copy(transform)(currenttransform);
currenttransform := currenttransform slanted slant;