/*
cluster-engraver.cc -- implement Cluster_engraver
- (c) 2002--2003 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2002--2004 Juergen Reuter <reuter@ipd.uka.de>
Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
bool
Cluster_spanner_engraver::try_music (Music *m)
{
- if (m->is_mus_type ("abort-event"))
- {
- if (spanner_)
- {
- spanner_->suicide ();
- spanner_ = 0;
- }
- }
- else if (m->is_mus_type ("cluster-note-event"))
+ if (m->is_mus_type ("cluster-note-event"))
{
cluster_notes_.push (m);
return true;
pmin = pmin <? p;
}
- beacon_ = new Item (get_property ("ClusterSpannerBeacon"));
+ beacon_ = make_item ("ClusterSpannerBeacon");
beacon_->set_grob_property ("positions",
scm_cons (gh_int2scm (pmin),
gh_int2scm (pmax)));
if (beacon_ && !spanner_)
{
- spanner_ = new Spanner (get_property ("ClusterSpanner"));
+ spanner_ = make_spanner ("ClusterSpanner");
announce_grob (spanner_, cluster_notes_[0]->self_scm ());
}
ENTER_DESCRIPTION(Cluster_spanner_engraver,
/* descr */ "Engraves a cluster using Spanner notation ",
/* creats*/ "ClusterSpanner ClusterSpannerBeacon",
-/* accepts */ "cluster-note-event abort-event",
+/* accepts */ "cluster-note-event",
/* acks */ "note-column-interface",
/* reads */ "",
/* write */ "");