/*
cluster-engraver.cc -- implement Cluster_engraver
- (c) 2002--2004 Juergen Reuter <reuter@ipd.uka.de>
+ (c) 2002--2005 Juergen Reuter <reuter@ipd.uka.de>
Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "engraver.hh"
-#include "item.hh"
#include "spanner.hh"
#include "note-head.hh"
#include "note-column.hh"
void typeset_grobs ();
Spanner *spanner_;
- Spanner * finished_spanner_ ;
+ Spanner *finished_spanner_ ;
};
Cluster_spanner_engraver::Cluster_spanner_engraver ()
cluster_notes_.push (m);
return true;
}
+ else if (m->is_mus_type ("busy-playing-event"))
+ return cluster_notes_.size ();
+
return false;
}
{
SCM c0scm = get_property ("middleCPosition");
- int c0 = ly_c_number_p (c0scm) ? scm_to_int (c0scm) : 0;
+ int c0 = scm_is_number (c0scm) ? scm_to_int (c0scm) : 0;
int pmax = INT_MIN;
int pmin = INT_MAX;
for (int i = 0; i <cluster_notes_.size (); i++)
{
- Pitch *pit =unsmob_pitch (cluster_notes_[i]->get_property ("pitch"));
+ Pitch *pit = unsmob_pitch (cluster_notes_[i]->get_property ("pitch"));
int p =( pit ? pit->steps () : 0) + c0;
Cluster_spanner_engraver::stop_translation_timestep ()
{
typeset_grobs ();
-
cluster_notes_.clear ();
-
}
void
}
}
-ENTER_DESCRIPTION (Cluster_spanner_engraver,
+ADD_TRANSLATOR (Cluster_spanner_engraver,
/* descr */ "Engraves a cluster using Spanner notation ",
/* creats*/ "ClusterSpanner ClusterSpannerBeacon",
-/* accepts */ "cluster-note-event",
+/* accepts */ "cluster-note-event busy-playing-event",
/* acks */ "note-column-interface",
/* reads */ "",
/* write */ "");