- TODO: maybe take more objects?
- */
- for (int i = slurs_.size (); i--; )
- Slur::add_extra_encompass (slurs_[i], e);
- for (int i = end_slurs_.size (); i--; )
- Slur::add_extra_encompass (end_slurs_[i], e);
+ ugh. cut & paste from slur-engraver.cc
+ */
+ SCM inside = e->get_property ("inside-slur");
+ if (Tie::has_interface (e)
+ || to_boolean (inside))
+ {
+ for (int i = slurs_.size (); i--; )
+ Slur::add_extra_encompass (slurs_[i], e);
+ for (int i = end_slurs_.size (); i--; )
+ Slur::add_extra_encompass (end_slurs_[i], e);
+ }
+ else if (inside == SCM_BOOL_F)
+ {
+ Grob *slur = slurs_.size()?slurs_[0] : 0;
+ slur = (end_slurs_.size () && !slur)
+ ? end_slurs_[0] : slur;
+
+ if (slur)
+ {
+ e->add_offset_callback (Slur::outside_slur_callback_proc, Y_AXIS);
+ e->set_property ("slur", slur->self_scm());
+ }
+ }