From ea3a2ffc5e44a39f6a348315c79d0751cf4ca64f Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Tue, 7 Mar 2006 18:14:23 +0000 Subject: [PATCH] * lily/slur.cc (outside_slur_callback): only calculate offsets if consider[k] is true. * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!) --- ChangeLog | 7 ++++++- lily/slur-engraver.cc | 4 ++-- lily/slur.cc | 13 +++++-------- scm/output-ps.scm | 8 ++++---- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index b3456ddd33..979ac56f14 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,9 @@ -2006-03-07 +2006-03-07 Han-Wen Nienhuys + + * lily/slur.cc (outside_slur_callback): only calculate offsets if + consider[k] is true. + + * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!) * lily/spacing-basic.cc (standard_breakable_column_spacing): also consider columns that have originals. Unifies spacing for mm diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index a022660b64..8b6cd4b414 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -153,13 +153,13 @@ Slur_engraver::acknowledge_tuplet_number (Grob_info info) void Slur_engraver::acknowledge_script (Grob_info info) { - acknowledge_extra_object (info); + if (!info.grob ()->internal_has_interface (ly_symbol2scm ("dynamic-interface"))) + acknowledge_extra_object (info); } void Slur_engraver::acknowledge_text_script (Grob_info info) { - // if (!info.grob ()->internal_has_interface (ly_symbol2scm ("DynamicText"))) acknowledge_extra_object (info); } diff --git a/lily/slur.cc b/lily/slur.cc index 94e13fe027..e482763a5b 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -210,7 +210,6 @@ Slur::outside_slur_callback (SCM grob, SCM offset_scm) : ((fabs (bezext[RIGHT] - x) < EPS) ? curve.control_[3][Y_AXIS] : curve.get_other_coordinate (X_AXIS, x)); - consider[k] = true; /* Request shift if slur is contained script's Y, or if script is inside slur and avoid == outside. */ @@ -221,13 +220,11 @@ Slur::outside_slur_callback (SCM grob, SCM offset_scm) } Real avoidance_offset = 0.0; - if (do_shift) - { - for (int d = LEFT, k = 0; d <= RIGHT; d++, k++) - avoidance_offset = dir * (max (dir * avoidance_offset, - dir * (ys[k] - yext[-dir] + dir * slur_padding))); - } - + for (int d = LEFT, k = 0; d <= RIGHT; d++, k++) + if (consider[k]) + avoidance_offset = dir * (max (dir * avoidance_offset, + dir * (ys[k] - yext[-dir] + dir * slur_padding))); + return scm_from_double (scm_to_double (offset_scm) + avoidance_offset); } diff --git a/scm/output-ps.scm b/scm/output-ps.scm index 6b7a86bfbb..4898de5d96 100644 --- a/scm/output-ps.scm +++ b/scm/output-ps.scm @@ -175,10 +175,10 @@ (if (and (< 0 (interval-length x-ext)) (< 0 (interval-length y-ext))) (format "~$ ~$ ~$ ~$ (textedit://~a:~a:~a:~a) mark_URI\n" - (ly:number->string (+ (car offset) (car x-ext))) - (ly:number->string (+ (cdr offset) (car y-ext))) - (ly:number->string (+ (car offset) (cdr x-ext))) - (ly:number->string (+ (cdr offset) (cdr y-ext))) + (+ (car offset) (car x-ext)) + (+ (cdr offset) (car y-ext)) + (+ (car offset) (cdr x-ext)) + (+ (cdr offset) (cdr y-ext)) ;; TODO ;;full escaping. -- 2.39.5