]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/tuplet-bracket.cc (calc_positions): look at
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 13 Jun 2006 11:44:44 +0000 (11:44 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 13 Jun 2006 11:44:44 +0000 (11:44 +0000)
stem-end-position for tuplet bracket slope. Fixes sloped tuplet
brackets narrower than beams. Backportme.

* lily/lexer.ll: set version-seen? even if version is
INVALID. Backportme.

ChangeLog
THANKS
lily/lexer.ll
lily/tuplet-bracket.cc

index db2d33695f938169b2b63f1a5f63b540a4606a3a..364957f6b66f38d72331330eb3e8c5443720acff 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,15 @@
 2006-06-13  Han-Wen Nienhuys  <hanwen@lilypond.org>
 
+       * lily/tuplet-bracket.cc (calc_positions): look at
+       stem-end-position for tuplet bracket slope. Fixes sloped tuplet
+       brackets narrower than beams. Backportme.
+
+       * lily/lexer.ll: set version-seen? even if version is
+       INVALID. Backportme.
+
        * lily/rest.cc (y_offset_callback): bugfix: decide position
        override based on scm_is_number(). Fixes \rest on center staff
-       line
+       line. Backportme.
 
        * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
        patterns for 16th triplets.
diff --git a/THANKS b/THANKS
index f2f6118f9d6604d8315b66a8b8c19320688287b2..94123130a92f91cd33534a898d1142846c61f250 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -55,6 +55,7 @@ J. Leung
 Harald Wellmann
 Karl Hammar
 Keith Packard
+Mark Dewey
 Michael Meixner
 Orm Finnendahl
 Quentin Spencer
@@ -62,6 +63,7 @@ Rick Hansen
 Ruud van Silfhout
 Sietse Brouwer
 Stephen Carter
+Thies Albrecht
 Trent Johnston
 Vaclav Smilauer
 Werner Lemberg
index d69dbb5ffde1e825a8356408e829a96749a0979e..e6e891f284741c27be74ea037ae165d901d6d540 100644 (file)
@@ -190,12 +190,14 @@ BOM_UTF8  \357\273\277
        s = s.substr (0, s.rfind ('\"'));
 
        yy_pop_state ();
-       if (!is_valid_version (s))
-               return INVALID;
 
        SCM top_scope = scm_car (scm_last_pair (scopes_));
        scm_module_define (top_scope, ly_symbol2scm ("version-seen?"), SCM_BOOL_T);
 
+       if (!is_valid_version (s))
+               return INVALID;
+
+
 }
 <sourcefilename>\"[^"]*\"     {
        string s (YYText () + 1);
index 4ca50328295c88d6319b39f69706925bff100a27..fa5d9a9c1d9dc76c92c49fee9a982ea9663a4dcb 100644 (file)
@@ -74,8 +74,13 @@ flatten_number_pair_property (Grob *me,
 }
 
 
+/*
+  Return beam that encompasses the span of the tuplet bracket.
+*/
+
 Grob *
-Tuplet_bracket::parallel_beam (Grob *me_grob, vector<Grob*> const &cols, bool *equally_long)
+Tuplet_bracket::parallel_beam (Grob *me_grob, vector<Grob*> const &cols,
+                              bool *equally_long)
 {
   Spanner *me = dynamic_cast<Spanner *> (me_grob);
 
@@ -109,7 +114,8 @@ Tuplet_bracket::parallel_beam (Grob *me_grob, vector<Grob*> const &cols, bool *e
     }
 
   *equally_long =
-    (beam_stems[0] == stems[LEFT] && beam_stems.back () == stems[RIGHT]);
+    (beam_stems[0] == stems[LEFT]
+     && beam_stems.back () == stems[RIGHT]);
   return beams[LEFT];
 }
 
@@ -657,20 +663,29 @@ Tuplet_bracket::calc_positions (SCM smob)
   if (!par_beam
       || get_grob_direction (par_beam) != dir)
     calc_position_and_height (me, &offset, &dy);
-  else
+  else if  (columns.size ()
+           && Note_column::get_stem (columns[0])
+           && Note_column::get_stem (columns.back ()))
     {
-      SCM ps = par_beam->get_property ("positions");
+      /*
+       trigger set_stem_ends
+       */
+      (void) par_beam->get_property ("quantized-positions");
 
-      Real lp = scm_to_double (scm_car (ps));
-      Real rp = scm_to_double (scm_cdr (ps));
 
-      Real ss = Staff_symbol_referencer::staff_space (me);
+      Drul_array<Grob *> stems (Note_column::get_stem (columns[0]),
+                               Note_column::get_stem (columns.back ()));
+
+      
+      
+
+      Real ss = 0.5 * Staff_symbol_referencer::staff_space (me);
+      Real lp = ss * robust_scm2double (stems[LEFT]->get_property ("stem-end-position"), 0.0);
+      Real rp = ss * robust_scm2double (stems[RIGHT]->get_property ("stem-end-position"), 0.0);
+
       
       offset = lp + dir * (0.5 + scm_to_double (me->get_property ("padding")));
       dy = (rp - lp);
-
-      dy *= ss;
-      offset *= ss;    
     }