*/
#include "engraver.hh"
-#include "item.hh"
#include "spanner.hh"
#include "note-head.hh"
#include "note-column.hh"
void
Cluster_spanner_engraver::typeset_grobs ()
{
- if (finished_spanner_ )
- {
- typeset_grob (finished_spanner_);
- finished_spanner_ = 0;
- }
-
- if (beacon_)
- {
- typeset_grob (beacon_);
- beacon_ = 0;
- }
+ finished_spanner_ = 0;
+ beacon_ = 0;
}
bool
{
SCM c0scm = get_property ("middleCPosition");
- int c0 = gh_number_p (c0scm) ? gh_scm2int (c0scm) : 0;
+ int c0 = scm_is_number (c0scm) ? scm_to_int (c0scm) : 0;
int pmax = INT_MIN;
int pmin = INT_MAX;
pmin = pmin <? p;
}
- beacon_ = make_item ("ClusterSpannerBeacon");
+ beacon_ = make_item ("ClusterSpannerBeacon", cluster_notes_[0]->self_scm ());
beacon_->set_property ("positions",
- scm_cons (gh_int2scm (pmin),
- gh_int2scm (pmax)));
- announce_grob (beacon_, cluster_notes_[0]->self_scm ());
+ scm_cons (scm_int2num (pmin),
+ scm_int2num (pmax)));
}
if (beacon_ && !spanner_)
{
- spanner_ = make_spanner ("ClusterSpanner");
- announce_grob (spanner_, cluster_notes_[0]->self_scm ());
+ spanner_ = make_spanner ("ClusterSpanner", cluster_notes_[0]->self_scm () );
}
if (beacon_ && spanner_)