(c) 1997--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "event.hh"
-#include "new-slur.hh"
+#include "slur.hh"
#include "note-column.hh"
#include "context.hh"
#include "directional-element-interface.hh"
Slur_engraver::Slur_engraver ()
{
- events_[START] =events_[STOP] = 0;
+ events_[START] = events_[STOP] = 0;
}
bool
{
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;
}
void
Slur_engraver::acknowledge_grob (Grob_info info)
{
- Grob *e =info.grob_;
+ Grob *e = info.grob_;
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 ();
}
events_[START] = events_[STOP] = 0;
}
-ENTER_DESCRIPTION (Slur_engraver,
+ADD_TRANSLATOR (Slur_engraver,
/* 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 */ "");