From ae1f01edc6121f6aaa665488506408a12cfc0246 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Tue, 13 Jun 2006 11:44:44 +0000 Subject: [PATCH] * 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. --- ChangeLog | 9 ++++++++- THANKS | 2 ++ lily/lexer.ll | 6 ++++-- lily/tuplet-bracket.cc | 35 +++++++++++++++++++++++++---------- 4 files changed, 39 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index db2d33695f..364957f6b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,15 @@ 2006-06-13 Han-Wen Nienhuys + * 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 f2f6118f9d..94123130a9 100644 --- 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 diff --git a/lily/lexer.ll b/lily/lexer.ll index d69dbb5ffd..e6e891f284 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -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; + + } \"[^"]*\" { string s (YYText () + 1); diff --git a/lily/tuplet-bracket.cc b/lily/tuplet-bracket.cc index 4ca5032829..fa5d9a9c1d 100644 --- a/lily/tuplet-bracket.cc +++ b/lily/tuplet-bracket.cc @@ -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 const &cols, bool *equally_long) +Tuplet_bracket::parallel_beam (Grob *me_grob, vector const &cols, + bool *equally_long) { Spanner *me = dynamic_cast (me_grob); @@ -109,7 +114,8 @@ Tuplet_bracket::parallel_beam (Grob *me_grob, vector 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 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; } -- 2.39.2