consider[k] is true.
* scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
-2006-03-07 <hanwen@xs4all.nl>
+2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * 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
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);
}
: ((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. */
}
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);
}
(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.