*/
#include "event.hh"
-#include "new-slur.hh"
-#include "warn.hh"
+#include "slur.hh"
#include "note-column.hh"
#include "context.hh"
#include "directional-element-interface.hh"
#include "engraver.hh"
#include "spanner.hh"
#include "tie.hh"
-
+#include "input.hh"
/*
It is possible that a slur starts and ends on the same note. At
least, it is for phrasing slurs: a note can be both beginning and
{
if (m->is_mus_type ("slur-event"))
{
- /*
- Let's not start more than one slur per moment.
- */
Direction d = to_dir (m->get_property ("span-direction"));
if (d == START)
{
}
else if (d == STOP)
{
- if (slurs_.is_empty ())
- return false;
-
events_[STOP] = m;
return true;
}
if (Note_column::has_interface (info.grob_))
{
for (int i = slurs_.size (); i--; )
- New_slur::add_column (slurs_[i], e);
+ Slur::add_column (slurs_[i], e);
for (int i = end_slurs_.size (); i-- ; )
- New_slur::add_column (end_slurs_[i], e);
+ Slur::add_column (end_slurs_[i], e);
}
else
{
|| to_boolean (inside))
{
for (int i = slurs_.size (); i--; )
- New_slur::add_extra_encompass (slurs_[i], e);
+ Slur::add_extra_encompass (slurs_[i], e);
for (int i = end_slurs_.size (); i--; )
- New_slur::add_extra_encompass (end_slurs_[i], e);
+ Slur::add_extra_encompass (end_slurs_[i], e);
}
else if (inside == SCM_BOOL_F)
{
if (slur)
{
- e->add_offset_callback (New_slur::outside_slur_callback_proc, Y_AXIS);
+ e->add_offset_callback (Slur::outside_slur_callback_proc, Y_AXIS);
e->set_property ("slur", slur->self_scm());
}
}
{
if (events_[STOP])
{
+ if (slurs_.size() == 0)
+ {
+ events_[STOP]->origin()->warning (_ ("No slur to end"));
+ }
+
end_slurs_ = slurs_;
slurs_.clear ();
}
/* descr */ "Build slurs grobs from slur events",
/* creats*/ "Slur",
/* accepts */ "slur-event",
- /* acks */ "note-column-interface accidental-interface fingering-interface script-interface tie-interface",
+ /* acks */ "note-column-interface accidental-interface fingering-interface script-interface tie-interface text-script-interface",
/* reads */ "slurMelismaBusy doubleSlurs",
/* write */ "");