]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.5.42 release/1.5.42
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 17 Mar 2002 19:55:40 +0000 (20:55 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 17 Mar 2002 19:55:40 +0000 (20:55 +0100)
15 files changed:
ChangeLog
VERSION
input/regression/accidental-ledger.ly [new file with mode: 0644]
lily/beam.cc
lily/include/note-head.hh
lily/note-head.cc
lily/text-spanner.cc
make/out/lilypond.lsm
make/out/lilypond.mandrake.spec
make/out/lilypond.redhat.spec
make/out/lilypond.suse.spec
mf/feta-eindelijk.mf
mf/feta-generic.mf
mf/feta-schrift.mf
scm/grob-property-description.scm

index 2af4fc24a7550e4759bb7a3a9c7d86e14cb8be9a..cdc811d3ab505358c8fea356fb20b1629696f5e2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,33 +1,39 @@
---- ../lilypond-1.5.41.jcn3/ChangeLog  Sun Mar 17 16:14:23 2002
-++ b/ChangeLog Sun Mar 17 19:34:16 2002
-@@ -1,5 +1,7 @@
- 2002-03-17  Jan Nieuwenhuizen  <janneke@gnu.org>
+2002-03-15  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
  
-       * scm/ps.scm (bezier-sandwich): Draw circles at slur ends.
-
-       * lily/beam.cc (score_stem_lengths): new quanting stuff
-       (score_forbidden_quants): Second and third beam quant stuff.
- --- ../lilypond-1.5.41.jcn2/ChangeLog Sun Mar 17 01:40:33 2002
-++ b/ChangeLog Sun Mar 17 16:14:23 2002
-@@ -1,6 +1,7 @@
- 2002-03-17  Jan Nieuwenhuizen  <janneke@gnu.org>
+       * buildscripts/lilypond-profile.sh: 
  
-       * lily/beam.cc (score_stem_lengths): new quanting stuff
-       (score_forbidden_quants): Second and third beam quant stuff.
+       * mf/GNUmakefile (INSTALLATION_OUT_DIR*),
+       buildscripts/lilypond-login.sh, buildscripts/lilypond-profile.sh:
+       Implement new font installation strategy
+       * Documentation/misc/fontinstallation (TEXMF): Documentation of
+       the new font installation strategy.
+       * lilypond-mode.el (LilyPond-mode-map): Add shortcut "CTRL-c ;"
+       for comment-region.
+       * input/test/staff-size.ly: Simplified using StaffContainer
  
- 2002-03-16  Jan Nieuwenhuizen  <janneke@gnu.org>
- --- ../lilypond-1.5.41.jcn1/ChangeLog Sat Mar 16 16:04:22 2002
-++ b/ChangeLog Sun Mar 17 01:40:33 2002
-@@ -1,3 +1,7 @@
+       * mf/GNUmakefile (ALL_GEN_FILES): Actually generate the
+       lilypond.map file
+2002-03-17  Han-Wen  <hanwen@cs.uu.nl>
+
+       * mf/feta-schrift.mf: endless twiddling of Tr.
+
+       * mf/feta-eindelijk.mf: 8th rest: make darker, top of brush lower, and
+       endless twiddling with the bulb shape.
+
+       * lily/note-head.cc (internal_brew_molecule): make ledger lines a
+       little smaller if there is an accidental.
+
 2002-03-17  Jan Nieuwenhuizen  <janneke@gnu.org>
 
+       * scm/ps.scm (bezier-sandwich): Draw circles at slur ends.
+
        * lily/beam.cc (score_stem_lengths): new quanting stuff
+       (score_forbidden_quants): Second and third beam quant stuff.
 
- 2002-03-16  Jan Nieuwenhuizen  <janneke@gnu.org>
-       * lily/beam.cc (least_squares): Remember least-squares-dy for--- ../lilypond-1.5.41/ChangeLog   Fri Mar 15 15:44:50 2002
-++ b/ChangeLog Sat Mar 16 16:04:22 2002
-@@ -1,3 +1,16 @@
 2002-03-16  Jan Nieuwenhuizen  <janneke@gnu.org>
 
        * lily/beam.cc (least_squares): Remember least-squares-dy for
 
        * scm/interface-description.scm (beam-interface): Update.
 
- 2002-03-15  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
-       * VERSION: 1.5.41 released2002-03-15  Mats Bengtsson  <mats.bengtsson@s3.kth.se>
-
-       * buildscripts/lilypond-profile.sh: 
-
-       * mf/GNUmakefile (INSTALLATION_OUT_DIR*),
-       buildscripts/lilypond-login.sh, buildscripts/lilypond-profile.sh:
-       Implement new font installation strategy
-
-       * Documentation/misc/fontinstallation (TEXMF): Documentation of
-       the new font installation strategy.
-
-       * lilypond-mode.el (LilyPond-mode-map): Add shortcut "CTRL-c ;"
-       for comment-region.
-
-       * input/test/staff-size.ly: Simplified using StaffContainer
-
-       * mf/GNUmakefile (ALL_GEN_FILES): Actually generate the
-       lilypond.map file
-
 2002-03-15  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
        * VERSION: 1.5.41 released
diff --git a/VERSION b/VERSION
index 9a1d0c5cbf1fa5eaed4ff546406a390197cb9850..655452a893500cdde4f3d82c42de32ee187fbc9c 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=5
-PATCH_LEVEL=41
-MY_PATCH_LEVEL=jcn4
+PATCH_LEVEL=42
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
diff --git a/input/regression/accidental-ledger.ly b/input/regression/accidental-ledger.ly
new file mode 100644 (file)
index 0000000..f035e33
--- /dev/null
@@ -0,0 +1,11 @@
+
+\header {
+    texidoc = "Ledger lines are shortened when there are accidentals"
+}
+
+\score { \notes
+{
+ cis'4 cis'! cis' cis'
+}
+        \paper { linewidth = -1. }
+}
index 246c64d313fda1cc9070be6fb2cc03e18f248caf..35a09d2f37f1379e12c0613209fa3f7921d9494e 100644 (file)
@@ -408,9 +408,14 @@ Beam::new_quanting (SCM smob)
                         gh_cons (gh_double2scm (qscores[best_idx].yl),
                                  gh_double2scm (qscores[best_idx].yr))
                         );
-  me->set_grob_property ("quant-score",
-                        gh_double2scm (qscores[best_idx].demerits));
-  me->set_grob_property ("best-idx", gh_int2scm (best_idx));
+
+  if (0)
+  {
+         // debug quanting
+         me->set_grob_property ("quant-score",
+                                gh_double2scm (qscores[best_idx].demerits));
+         me->set_grob_property ("best-idx", gh_int2scm (best_idx));
+  }
 
   return SCM_UNSPECIFIED;
 }
index bbf747842e4e4086d70fe22f017bc8e5023afe4c..e60679d67b6ab7007b6a34bb1f3fb4bd98149489 100644 (file)
@@ -23,7 +23,7 @@ public:
   DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
   static Interval head_extent (Grob*,Axis);
   static Molecule ledger_lines (Grob*, bool, int,Direction,Interval);
-  static Molecule ledger_line (Interval, Grob*) ;
+  static Molecule ledger_line ( Grob*, Interval);
   DECLARE_SCHEME_CALLBACK (brew_ez_molecule, (SCM ));
   static bool has_interface (Grob*);
   static Real stem_attachment_coordinate (Grob *, Axis a);
index 01276185ebb6b61998c13da7e27bbbce2f70e9a4..a1764e8796d9795c0aeaaa7cbd79d9d1d80b7228 100644 (file)
@@ -60,7 +60,7 @@
   build a ledger line for small pieces.
  */
 Molecule
-Note_head::ledger_line (Interval xwid, Grob *me
+Note_head::ledger_line (Grob *me, Interval xwid
 {
   Drul_array<Molecule> endings;
   endings[LEFT] = Font_interface::get_default_font (me)->find_by_name ("noteheads-ledgerending");
@@ -105,7 +105,7 @@ Note_head::ledger_lines (Grob*me,
 
     --hwn 
    */
-  Molecule ledger (ledger_line (idw, me));
+  Molecule ledger (ledger_line (me, idw));
 
   if (!take_space)
     ledger.set_empty (true);
@@ -157,10 +157,26 @@ internal_brew_molecule (Grob *me,  bool ledger_take_space)
     {
       Direction dir = (Direction)sign (p);
       Interval hd = out.extent (X_AXIS);
-      Real hw = hd.length ()/4;
-      out.add_molecule (Note_head::ledger_lines (me, ledger_take_space, streepjes_i, dir,
-                                     Interval (hd[LEFT] - hw,
-                                               hd[RIGHT] + hw)));
+      Real left_ledger_protusion = hd.length ()/4;
+      Real right_ledger_protusion = left_ledger_protusion;
+
+      if (unsmob_grob(me->get_grob_property ("accidentals-grob")))
+       {
+         /*
+           make a little room for accidentals.
+         
+           TODO: this will look silly if a chord has ledger lines,
+           and only the bottom note has an accidental.
+         */
+         
+         left_ledger_protusion *= 0.66;
+         right_ledger_protusion *= 0.8; 
+       }
+
+      Interval l_extents = Interval (hd[LEFT] - left_ledger_protusion,
+                                    hd[RIGHT] + right_ledger_protusion);
+      out.add_molecule (Note_head::ledger_lines (me, ledger_take_space,
+                                                streepjes_i, dir, l_extents));
     }
   return out;
 }
index d86f4c99c35163b150c34f4579bf10339b444ac1..127de061a356e6d738e68920da7d5d3249ccfab4 100644 (file)
@@ -111,7 +111,7 @@ Text_spanner::brew_molecule (SCM smob)
   shorten[LEFT] = 0;
   shorten[RIGHT] = 0;
 
-  SCM s = me->get_grob_property ("shorten");
+  SCM s = me->get_grob_property ("shorten-pair");
   if (gh_pair_p (s))
     {
       shorten[LEFT] = gh_scm2double (ly_car (s));
@@ -275,6 +275,6 @@ Text_spanner::setup_pedal_bracket(Spanner *s)
                                                 gh_double2scm ( height[RIGHT]) ) );
   s->set_grob_property ("edge-width",  gh_cons ( gh_double2scm ( width[LEFT]  ), 
                                                 gh_double2scm ( width[RIGHT] ) ));
-  s->set_grob_property ("shorten", gh_cons ( gh_double2scm ( shorten[LEFT] ), 
+  s->set_grob_property ("shorten-pair", gh_cons ( gh_double2scm ( shorten[LEFT] ), 
                                             gh_double2scm ( shorten[RIGHT] ) ));
 }
index e4ab0ee2cccb7be68b57866783e329959d553b52..1d09a22d18bf3e55c6e04481f0768c977f38c182 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: LilyPond
-Version: 1.5.41
-Entered-date: 15MRT02
+Version: 1.5.42
+Entered-date: 17MRT02
 Description: @BLURB@
 Keywords: music notation typesetting midi fonts engraving
 Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       1000k lilypond-1.5.41.tar.gz 
+       1000k lilypond-1.5.42.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       1000k lilypond-1.5.41.tar.gz 
+       1000k lilypond-1.5.42.tar.gz 
 Copying-policy: GPL
 End
index 227a2264fd16e525f08194b7bf2306b49ac44fef..577bafad07214e313d6b65855597ae88e9771214 100644 (file)
@@ -1,5 +1,5 @@
 %define name lilypond
-%define version 1.5.41
+%define version 1.5.42
 %define release 1mdk
 
 Name: %{name}
index 7a5c645ac89c76c226d3950ead7cc5ff33b3947c..d276007fb3fac2a8967437094f21852b6d4c52eb 100644 (file)
@@ -3,11 +3,11 @@
 %define info yes
 
 Name: lilypond
-Version: 1.5.41
+Version: 1.5.42
 Release: 1
 License: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.41.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.42.tar.gz
 Summary: Create and print music notation 
 URL: http://www.lilypond.org/
 BuildRoot: /tmp/lilypond-install
index 0ff09a6c3434bccd351212f6f432a404d12779fd..e5ece3c4e3b896af6395be9026979f1b1a8e1af8 100644 (file)
 
 Distribution: SuSE Linux 7.0 (i386)
 Name: lilypond
-Version: 1.5.41
+Version: 1.5.42
 Release: 2
 Copyright:    GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.41.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.42.tar.gz
 # music notation software for.. ?
 Summary: A program for printing sheet music.
 URL: http://www.lilypond.org/
index 96e88698f1c94311af88741be01e5794ba0d8fe4..648d26dd9465d2c79d6ba57ec750224e8a841d7d 100644 (file)
@@ -180,9 +180,24 @@ def rest_crook(expr a, w) =
 enddef;
 
 %
+% Notes about 8th rest:  
+% 
+% * 8th rest should be no wider than the black note head
+%
+% * The inside corner of the horizontal portion is usually a little blotted.
+%
+% * The top of the crook chops off the vertical brush
+% 
+% * The crook widens a little
+%
+% * The bottom of the brush is slightly flat, as it has to align with
+% stafflines if it is inside the staff.
 %
-% todo: document rest.
+% * The top of the brush usually is a little lower than the top of bulb.
 %
+% * The bulb can vary. Sometimes it is open (like in the clefs). Sometimes 
+% it is closed, or even a flare.
+% 
 
 def normalize (expr p) =
        (p / length (p))
@@ -196,13 +211,13 @@ def draw_eighth_rest =
 
 
        width# := 1.0 staff_space#;
-       bulb_diam# := 0.6 staff_space#;
+       bulb_diam# := 0.64 staff_space#;
        thin# := 1.1 stafflinethickness#;
        thick# :=  2.2 stafflinethickness#;
        crook_thick# := 1.8 stafflinethickness#;
        crook_thin := 1.3 stafflinethickness;
 
-       lower_brush = 1.0 stafflinethickness;
+       lower_brush = 1.5 stafflinethickness;
        ycenter := 0.5 staff_space;
 
        define_pixels (width, bulb_diam, thin, thick, crook_thick);
@@ -214,7 +229,7 @@ def draw_eighth_rest =
 
        y1 = ycenter + - 1.5 staff_space ;
 %      y9 = y5 -  lower_brush;
-       y2 = y5 -  0.7 stafflinethickness;
+       y2 = y5 -  lower_brush;
        
        x2r = width;
 
@@ -225,15 +240,16 @@ def draw_eighth_rest =
 
 
        x4 = 1.02 bulb_diam ;
-       y4 = ycenter - 2 stafflinethickness + crook_thin;
+       y4 := ceiling (ycenter - 2 stafflinethickness + crook_thin);
 
-       x5 = 0.5 bulb_diam;
+       x5 = 0.5 bulb_diam - 0.25 stafflinethickness;
        y5 = ycenter +bulb_diam/2;
        
        z9 = z2 + 0.46 stafflinethickness * dir (angle(z2 - z1)- 10);
 
-       z7 = (bulb_diam/2,ycenter) + 0.26 staff_space * dir ( 35);
-       z8 = (0, ycenter);
+%      z7 = %(bulb_diam/2,ycenter) + 0.23 staff_space * dir ( 35);
+       z7 = 0.5 [z4, z5] + (0.45 stafflinethickness,0.4 stafflinethickness);
+       z8 = (0, ycenter + 0.5 stafflinethickness);
 
        z6 = whatever [z1l, z2l];
        z6 = whatever [z2l, z4] + crook_thick * (crook_dir rotated -90);
@@ -247,7 +263,7 @@ def draw_eighth_rest =
 
        fill z2r -- z2l -- simple_serif (z1l, z1r, 40) -- cycle;
        fill z2r{z2r-z1r} .. z9 .. z2l{dir(232)} .. tension 2
-               .. z4{left} .. z7{dir(90 + 25)} 
+               .. z4{left} .. tension 0.9 .. z7 %{dir(90 + 25)} 
                .. z5{left} .. z8 .. z3{right}
                .. {curl 0.2}z6 -- cycle;
 
index 2466feba4706aac3b7e0d9db5040152d5c942351..b00d089e27a34b4cbbbc2c3bd98557c4d399a41b 100644 (file)
@@ -39,12 +39,12 @@ if test = 0:
        input feta-solfa;
        
 else:
-       input feta-bolletjes;   
-       input feta-banier;
-       input feta-eindelijk;
+%      input feta-bolletjes;   
+%      input feta-banier;
+%      input feta-eindelijk;
 %      input feta-klef;
 %      input feta-toevallig;
-%      input feta-schrift;
+       input feta-schrift;
 %      input feta-haak;
 %      input feta-timesig;
 %      input feta-pendaal;
index 557096892d3be018a98e80d1b139bac2dc009d8d..49f18ee26272c7bfbb6f82f6638e8b35346c7014 100644 (file)
@@ -410,19 +410,21 @@ fet_beginchar("Trill (`tr')","trill","trill")
        ascender_extra# = 1/2 ex#;
        ascender# = ascender_extra# + ex#;
        ex# = 1.4 staff_space#;
-       kerning# = .60 ex#;
+       kerning# = .550 ex#;
        start_nib_angle = 20;
-       bulb_size = 0.47;
+       bulb_size = 0.55;
        define_pixels(ex, ascender_extra, ascender, kerning);
 
        t_overshoot = 0.03 ex;
        fatness = 12/40 ex;
-       t_fatness = 8/10 fatness;
-       r_fatness = .75 fatness;
-       uitschieter = 21/40 ex;
+       t_fatness = 0.780 fatness;
+       t_width =  1.8 t_fatness;
+       r_fatness = 0.75 fatness;
+       uitschieter = 0.43 ex;
        hair_thick =  blot_diameter;
 
        slant = .2;
+%      slant = .0;
 
        local_copy(transform)(currenttransform);
        currenttransform := currenttransform slanted slant shifted (- staff_space, 0)  ;
@@ -435,30 +437,36 @@ fet_beginchar("Trill (`tr')","trill","trill")
        z2 = (x1, 7/18 ex);
        penpos2(start_nib_wid, start_nib_angle);
 
-       z3l = (11/10 t_fatness, - t_overshoot);
+       z3l = (0.5 t_width, - t_overshoot);
 
-       z4l = (13/6 t_fatness, 5/16 ex);
-       penpos4(hair_thick, 180);
+       z4l = (t_width, 0.23 ex);
+       penpos4(whatever, 200);
+       x4l - x4r = hair_thick;
+
+       x3r = 0.5 [x4r, x2r];
+%      1.7 [x3l, x3r] = x4r;
+       y3r - y3l = 0.6 t_fatness;
 
-       1.9 [z3l, z3r] = z4r;
-       z3 = .5 [z3l, z3r];
        
        save t_p, krul_p;
        path t_p, krul_p, r_p;
 
+       z5 = (t_fatness/2, 2/3 ex);
+%      penpos5(hair_thick, ); 
 
-       t_p := simple_serif (z1r, z1l, -30) -- z2l {down} .. tension (1 + .5 slant)
+       t_p := simple_serif (z1r, z1l, -40) -- z2l {down}
+               .. tension (1 + .5 slant)
                .. z3l{right} 
                
                .. z4l{up} -- z4r{down} 
-               .. z3r{left} .. z2r{up} .. z1r -- cycle;
+               .. z3r{left}
+               .. tension (1.5 + .7 slant)
+               .. z2r{up} .. z1r -- cycle;
        fill t_p ;
 
        krul_ang = 32;
 
        pickup pencircle scaled hair_thick;
-
-       z5 = (t_fatness/2, 2/3 ex);
        
        lft x6 = - uitschieter;
        y6 =  y5 ; % - 1/20 ex;
@@ -471,10 +479,6 @@ fet_beginchar("Trill (`tr')","trill","trill")
        penpos7(hair_thick, up_angle + 90);
 
        
-       x8l = .7 [x9r, x7r];
-       y8l = y7l;
-       penpos8(2 hair_thick, (up_angle +90)/2);
-
        y9 = 3/4 ex;
        x9 = x1 + kerning;
        penpos9(r_fatness, 0);
@@ -483,27 +487,41 @@ fet_beginchar("Trill (`tr')","trill","trill")
        y10 =  -0.3 stafflinethickness;
        penpos10(r_fatness, 0);
 
-       krul_p := z4{up} .. tension 1.1  .. z5 
-               .. tension 1 and .75 .. z6
-               .. tension .85 and 1.1 .. z5 --- z7;
+       krul_p := z4{up}
+               .. tension 0.98
+               .. z5
+               .. z6
+               .. z5 --- z7;
        draw krul_p;
        r_p := z7l{z7-z5} .. z9l{down} --- simple_serif (z10l, z10r, -30)
                --- z9r{up} 
-               ..  z8r{left} ..  z7r{z5-z7} -- cycle;
+                ..  z7r{z5-z7} -- cycle;
        fill r_p;
-       set_char_box(staff_space# , staff_space#, 0,ascender#);
+
+       set_char_box(.85 staff_space# , .85 staff_space#, 0,ascender#);
 
 
        penpos11(1/4 r_fatness, -20);
        z11r = z9r;
        
-       z13 = (x9 + 2 r_fatness, y11 );
-       penpos13(r_fatness, 180);
-       fill z11r{dir 70} .. z13r{down} -- z13l{up} .. z11l{dir 250} -- cycle;
-       penlabels(range 1 thru 15);
+       z13 = (x9 + 1.9 r_fatness, y11 -  stafflinethickness );
+       penpos13(0.45  r_fatness, 170);
 
+       z15 = z13r  - (bulb_size * r_fatness,0);
+       z14 = 0.5 [z13l, z15] - (0,bulb_size* r_fatness);
+       z16 = 0.5 [z13l, z15] + (0,bulb_size* r_fatness);
+
+
+       fill z11r{dir 70} .. tension 0.94 .. z13r{down} -- z15{down}
+               .. tension 0.97 .. z13l{up}
+               .. z11l{dir 250} -- cycle;
+
+       fill z15{up} .. tension 1.1 .. z13l{down} .. z14 .. cycle;
+
+
+
+       penlabels(range 1 thru 15);
 
-       draw_bulb(-1, z13r, z13l, bulb_size * r_fatness, 1.5);
 fet_endchar;
 
 
index b8580bad21ae4481e517abbb9add90e6a766ee32..aac832b584204c8c4f6aa117af75da85a829baa8 100644 (file)
@@ -462,3 +462,9 @@ columns.
 (grob-property-description 'chord-tremolo boolean? "if set, this beam is a tremolo. TODO: use interface for this!")
 (grob-property-description 'chord pair? "?")
 (grob-property-description 'begin-of-line-visible boolean? "?")
+
+(grob-property-description 'quant-score number? "Beam quanting score")
+
+(grob-property-description 'least-squares-dy number? 
+ "ideal beam slope, without damping.")
+(grob-property-description 'stem-info pair? "caching of stem parameters")