lists of grobs. This should fix the problems of lily in
combination with pthreads/qthreads.
-2002-06-23 Han-Wen <hanwen@cs.uu.nl>
-
* lily/grob.cc (mark_smob): bugfix: mark X parent too.
+2002-06-23 Chris Jackson <chris@fluffhouse.org.uk>
+
+ * lily/text-spanner.cc (setup_pedal_bracket):
+ * lily/piano-pedal-engraver.cc (create_bracket_grobs):
+ Fix the lengths of mixed-style piano pedal brackets.
+
2002-06-23 Jan Nieuwenhuizen <janneke@gnu.org>
* Documentation/user/tutorial.itely (First steps): Add missing
gh_bool2scm (false));
/*
- Warning: we can't hang the bracket on an item in Y-direction:
- it will cause problems when the bracket is broken, because the
- item can be on another line.
+ Mixed style: Store a pointer to the preceding text for use in
+ calculating the length of the line
*/
+ if (p->item_p_)
+ p->bracket_p_->set_grob_property ("pedal-text", p->item_p_->self_scm ());
+
p->bracket_p_->set_bound (LEFT, unsmob_grob (get_property ("currentMusicalColumn")));
Axis_group_interface::add_element (p->line_spanner_, p->bracket_p_);
if ( to_boolean (me->get_grob_property ("text-start")) )
{
height[LEFT] = 0;
- Grob * textbit = me->get_parent(Y_AXIS);
+ Grob * textbit = unsmob_grob (me->get_grob_property("pedal-text"));
extra_short = padding;
if (textbit->internal_has_interface(ly_symbol2scm("text-interface")))
// for plain text, e.g., Sost. Ped.
};
ADD_INTERFACE (Pianopedal,"piano-pedal-interface",
"",
- "pedal-type edge-widen edge-height shorten-pair text-start left-widen right-widen");
+ "pedal-type edge-widen edge-height shorten-pair text-start left-widen right-widen pedal-text");
ADD_INTERFACE (Text_spanner,"text-spanner-interface",
"generic text spanner",
(grob-property-description 'old-accidentals list? "list of (pitch, accidental) pairs.")
(grob-property-description 'padding number? "add this much extra space between objects that are next to each other.")
(grob-property-description 'pedal-type symbol? "Style of piano pedal: text, bracket or mixed.")
+(grob-property-description 'pedal-text ly-grob? "Pointer to the text of a mixed-style piano pedal.")
(grob-property-description 'penalty number? "Penalty for breaking at
this column. 10000 or more means forbid linebreak, -10000 or less
means force linebreak. Other values influence linebreaking decisions