- if (reqs_drul_[STOP])
- {
- if (!ligature_bracket_p_)
- reqs_drul_[STOP]->origin ()->warning (_ ("can't find start of ligature"));
- else
- {
- if (!last_bound)
- {
- reqs_drul_[STOP]->origin ()->warning (_ ("no right bound"));
- }
- else
- {
- ligature_bracket_p_->set_bound (RIGHT, last_bound);
- }
- }
- prev_start_req_ = 0;
- finished_ligature_bracket_p_ = ligature_bracket_p_;
- ligature_bracket_p_ = 0;
- }
- last_bound = unsmob_grob (get_property ("currentMusicalColumn"));
-
- if (ligature_bracket_p_)
- {
- // TODO: maybe forbid breaks only if not transcribing
- top_engraver ()->forbid_breaks ();
- }
- if (reqs_drul_[START])
- {
- if (ligature_bracket_p_)
- {
- reqs_drul_[START]->origin ()->warning (_ ("already have a ligature"));
- return;
- }
-
- prev_start_req_ = reqs_drul_[START];
- ligature_bracket_p_ = new Spanner (get_property ("LigatureBracket"));
-
- Grob *bound = unsmob_grob (get_property ("currentMusicalColumn"));
- if (!bound)
- {
- reqs_drul_[START]->origin ()->warning (_ ("no left bound"));
- }
- else
- {
- ligature_bracket_p_->set_bound (LEFT, bound);
- }
-
- ligature_start_mom_ = now_mom ();
-
- announce_grob(ligature_bracket_p_, reqs_drul_[START]->self_scm());
- }