CVSROOT:        /cvsroot/lilypond
Module name:    lilypond
Branch:         
Changes by:     Han-Wen Nienhuys <[EMAIL PROTECTED]>    05/10/16 14:20:45

Modified files:
        .              : ChangeLog 
        lily           : beam.cc 
        lily/include   : beam.hh 
        ly             : engraver-init.ly 
        scm            : define-grob-properties.scm define-grobs.scm 
                         layout-beam.scm 

Log message:
        * lily/beam.cc: use length-fraction too.
        
        * scm/define-grob-properties.scm (all-user-grob-properties):
        remove property flag-width-function
        (all-user-grob-properties): remove space-function.
        
        * scm/layout-beam.scm: remove flag-width-function.
        
        * lily/beam.cc: remove flag-width-function
        
        * scm/layout-beam.scm: remove beam dir functions.
        
        * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use 
length-fraction.
        
        * lily/beam.cc: remove dir-function.
        
        * scm/define-grobs.scm: change print-function to stencil callback 
everywhere.
        
        * lily/beam.cc (calc_direction): use pseudo-property for beam
        direction callback.
        (calc_positions): use callback
        
        * scm/define-grob-properties.scm (all-user-grob-properties): doc
        callbacks property.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.4183&tr2=1.4184&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/beam.cc.diff?tr1=1.318&tr2=1.319&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/beam.hh.diff?tr1=1.105&tr2=1.106&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ly/engraver-init.ly.diff?tr1=1.258&tr2=1.259&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-grob-properties.scm.diff?tr1=1.130&tr2=1.131&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-grobs.scm.diff?tr1=1.253&tr2=1.254&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/layout-beam.scm.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.4183 lilypond/ChangeLog:1.4184
--- lilypond/ChangeLog:1.4183   Sun Oct 16 14:11:14 2005
+++ lilypond/ChangeLog  Sun Oct 16 14:20:44 2005
@@ -1,5 +1,15 @@
 2005-10-16  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
 
+       * lily/beam.cc: use length-fraction too.
+
+       * scm/define-grob-properties.scm (all-user-grob-properties):
+       remove property flag-width-function
+       (all-user-grob-properties): remove space-function.
+
+       * scm/layout-beam.scm: remove flag-width-function.
+
+       * lily/beam.cc: remove flag-width-function
+
        * scm/layout-beam.scm: remove beam dir functions.
 
        * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use 
length-fraction.
Index: lilypond/lily/beam.cc
diff -u lilypond/lily/beam.cc:1.318 lilypond/lily/beam.cc:1.319
--- lilypond/lily/beam.cc:1.318 Sun Oct 16 14:09:30 2005
+++ lilypond/lily/beam.cc       Sun Oct 16 14:20:44 2005
@@ -69,15 +69,17 @@
 Real
 Beam::get_beam_translation (Grob *me)
 {
-  SCM func = me->get_property ("space-function");
+  int beam_count = get_beam_count (me);
+  Real staff_space = Staff_symbol_referencer::staff_space (me);
+  Real line = Staff_symbol_referencer::line_thickness (me);
+  Real thickness = get_thickness (me);
+  Real fract = robust_scm2double (me->get_property ("length-fraction"), 1.0);
+  
+  Real beam_translation = beam_count < 4
+    ? (2 * staff_space + line - thickness) / 2.0
+    : (3 * staff_space + line - thickness) / 3.0;
 
-  if (ly_is_procedure (func))
-    {
-      SCM s = scm_call_2 (func, me->self_scm (), scm_from_int (get_beam_count 
(me)));
-      return scm_to_double (s);
-    }
-  else
-    return 0.81;
+  return fract * beam_translation;
 }
 
 /* Maximum beam_count. */
@@ -95,25 +97,6 @@
   return m;
 }
 
-/*
-  Space return space between beams.
-*/
-MAKE_SCHEME_CALLBACK (Beam, space_function, 2);
-SCM
-Beam::space_function (SCM smob, SCM beam_count)
-{
-  Grob *me = unsmob_grob (smob);
-
-  Real staff_space = Staff_symbol_referencer::staff_space (me);
-  Real line = Staff_symbol_referencer::line_thickness (me);
-  Real thickness = get_thickness (me);
-
-  Real beam_translation = scm_to_int (beam_count) < 4
-    ? (2 * staff_space + line - thickness) / 2.0
-    : (3 * staff_space + line - thickness) / 3.0;
-
-  return scm_from_double (beam_translation);
-}
 
 /* After pre-processing all directions should be set.
    Several post-processing routines (stem, slur, script) need stem/beam
@@ -427,10 +410,11 @@
          if (stem)
            {
              int t = Stem::duration_log (stem);
-
-             SCM proc = me->get_property ("flag-width-function");
-             SCM result = scm_call_1 (proc, scm_from_int (t));
-             nw_f = scm_to_double (result);
+             // ugh. hardcoded.
+             if (t == 1)
+               nw_f = 1.98;
+             else
+               nw_f = 1.32;
            }
          else
            nw_f = break_overshoot[RIGHT] / 2;
@@ -1395,11 +1379,11 @@
               "damping "
               "details "
               "direction " 
-              "flag-width-function "
               "gap "
               "gap-count "
               "inspect-quants "
               "knee "
+              "length-fraction "
               "least-squares-dy "
               "neutral-direction "
               "position-callbacks "
Index: lilypond/lily/include/beam.hh
diff -u lilypond/lily/include/beam.hh:1.105 lilypond/lily/include/beam.hh:1.106
--- lilypond/lily/include/beam.hh:1.105 Sun Oct 16 01:06:19 2005
+++ lilypond/lily/include/beam.hh       Sun Oct 16 14:20:45 2005
@@ -56,7 +56,6 @@
   static void connect_beams (Grob *me);
 
   DECLARE_SCHEME_CALLBACK (rest_collision_callback, (SCM element, SCM axis));
-  DECLARE_SCHEME_CALLBACK (space_function, (SCM, SCM));
   DECLARE_SCHEME_CALLBACK (print, (SCM));
   DECLARE_SCHEME_CALLBACK (calc_direction, (SCM));
   DECLARE_SCHEME_CALLBACK (calc_positions, (SCM));
Index: lilypond/ly/engraver-init.ly
diff -u lilypond/ly/engraver-init.ly:1.258 lilypond/ly/engraver-init.ly:1.259
--- lilypond/ly/engraver-init.ly:1.258  Sun Oct 16 14:09:30 2005
+++ lilypond/ly/engraver-init.ly        Sun Oct 16 14:20:45 2005
@@ -551,14 +551,12 @@
   graceSettings = #`(
     (Voice Stem direction 1)
     (Voice Stem font-size -3)
-    (Voice NoteHead  font-size -3)
+    (Voice NoteHead font-size -3)
     (Voice Dots font-size -3)
     (Voice Stem length-fraction 0.8)
     (Voice Stem no-stem-extend #t)
     (Voice Beam thickness 0.384)
-    (Voice Beam space-function ,(lambda (beam mult)
-                                (* 0.8 (Beam::space_function
-                                        beam mult))))
+    (Voice Beam length-fraction 0.8)
     (Voice Accidental font-size -4)
     (Voice Slur direction -1)
   )
Index: lilypond/scm/define-grob-properties.scm
diff -u lilypond/scm/define-grob-properties.scm:1.130 
lilypond/scm/define-grob-properties.scm:1.131
--- lilypond/scm/define-grob-properties.scm:1.130       Sun Oct 16 14:09:31 2005
+++ lilypond/scm/define-grob-properties.scm     Sun Oct 16 14:20:45 2005
@@ -192,7 +192,6 @@
 @code{mensural}.  Additionally, @code{\"no-flag\"} switches off the
 flag.")
      
-     (flag-width-function ,procedure? "Procedure that computes the width of a 
half-beam (a non-connecting beam.).")
      (strict-note-spacing ,boolean? "If set, unbroken columns
 with non-musical material (clefs, barlines, etc.) are not spaced
 separately, but put before musical columns.")
@@ -390,9 +389,6 @@
 of spacing tuples: @code{(@var{break-align-symbol} @var{type}
 . @var{distance})}, where @var{type} can be the symbols
 @code{minimum-space} or @code{extra-space}.")
-     (space-function ,procedure? "Calculate the vertical space between
-two beams. This function takes a beam grob and the maximum number of
-beams.")
 
      (spacing-increment ,number? "Add this much space for a doubled
 duration. Typically, the width of a note head. See also
Index: lilypond/scm/define-grobs.scm
diff -u lilypond/scm/define-grobs.scm:1.253 lilypond/scm/define-grobs.scm:1.254
--- lilypond/scm/define-grobs.scm:1.253 Sun Oct 16 14:09:31 2005
+++ lilypond/scm/define-grobs.scm       Sun Oct 16 14:20:45 2005
@@ -286,15 +286,11 @@
        ;; isolated shortened beams look nice and a bit shortened,
        ;; sadly possibly breaking patterns with high order beams.
        (beamed-stem-shorten . (1.0 0.5 0.25))
-
-       (flag-width-function . ,beam-flag-width-function)
        (damping . 1)
        (auto-knee-gap . 5.5)
 
        ;; only for debugging.
        (font-family . roman)
-
-       (space-function . ,Beam::space_function)
        (meta . ((class . Spanner)
                 (interfaces . (staff-symbol-referencer-interface
                                beam-interface))))))
Index: lilypond/scm/layout-beam.scm
diff -u lilypond/scm/layout-beam.scm:1.2 lilypond/scm/layout-beam.scm:1.3
--- lilypond/scm/layout-beam.scm:1.2    Sun Oct 16 14:11:14 2005
+++ lilypond/scm/layout-beam.scm        Sun Oct 16 14:20:45 2005
@@ -6,15 +6,6 @@
 ;;;; (c) 2000--2005 Jan Nieuwenhuizen <[EMAIL PROTECTED]>
 ;;;;
 
-;;
-;; width in staff space.
-;;
-(define (beam-flag-width-function type)
-  (cond
-   ((eq? type 1) 1.98) 
-   ((eq? type 1) 1.65) ;; FIXME: check what this should be and why
-   (else 1.32)))
-
 (define ((check-beam-quant posl posr) beam)
   "Check whether BEAM has POSL and POSR quants.  POSL are (POSITION
 . QUANT) pairs, where QUANT is -1 (hang), 0 (center), 1 (sit) or -2/ 2 (inter) 


_______________________________________________
Lilypond-cvs mailing list
Lilypond-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-cvs

Reply via email to