+void
+Ambitus_engraver::create_ambitus ()
+{
+ ambitus_ = make_item ("AmbitusLine", SCM_EOL);
+ group_ = make_item ("Ambitus", SCM_EOL);
+ Direction d = DOWN;
+ do
+ {
+ heads_[d] = make_item ("AmbitusNoteHead", SCM_EOL);
+ accidentals_[d] = make_item ("AmbitusAccidental", SCM_EOL);
+ accidentals_[d]->set_parent (heads_[d], Y_AXIS);
+ heads_[d]->set_object ("accidental-grob",
+ accidentals_[d]->self_scm ());
+ Axis_group_interface::add_element (group_, heads_[d]);
+ Axis_group_interface::add_element (group_, accidentals_[d]);
+ }
+ while (flip (&d) != DOWN);
+
+ ambitus_->set_parent (heads_[DOWN], X_AXIS);
+ Axis_group_interface::add_element (group_, ambitus_);
+
+ is_typeset_ = false;
+}