-Slur_engraver::acknowledge_dynamic_line_spanner (Grob_info info)
-{
- acknowledge_extra_object (info);
-}
-
-void
-Slur_engraver::acknowledge_fingering (Grob_info info)
-{
- acknowledge_extra_object (info);
-}
-
-void
-Slur_engraver::acknowledge_script (Grob_info info)
-{
- acknowledge_extra_object (info);
-}
-
-void
-Slur_engraver::acknowledge_text_script (Grob_info info)
-{
- acknowledge_extra_object (info);
-}
-
-void
-Slur_engraver::acknowledge_tie (Grob_info info)
-{
- acknowledge_extra_object (info);
-}
-
-void
-Slur_engraver::finalize ()
-{
- if (slurs_.size ())
- slurs_[0]->warning (_ ("unterminated slur"));
-}
-
-void
-Slur_engraver::process_music ()
-{
- if (events_[STOP])
- {
- if (slurs_.size () == 0)
- events_[STOP]->origin ()->warning (_ ("can't end slur"));
-
- end_slurs_ = slurs_;
- slurs_.clear ();
- }
-
- if (events_[START] && slurs_.is_empty ())
- {
- Music *ev = events_[START];
-
- bool double_slurs = to_boolean (get_property ("doubleSlurs"));
-
- Grob *slur = make_spanner ("Slur", events_[START]->self_scm ());
- Direction updown = to_dir (ev->get_property ("direction"));
- if (updown && !double_slurs)
- set_grob_direction (slur, updown);
-
- slurs_.push (slur);
-
- if (double_slurs)
- {
- set_grob_direction (slur, DOWN);
- slur = make_spanner ("Slur", events_[START]->self_scm ());
- set_grob_direction (slur, UP);
- slurs_.push (slur);
- }
- }
- set_melisma (slurs_.size ());
-}
-
-void
-Slur_engraver::stop_translation_timestep ()