- Item *note_p = new Item (get_property ("NoteHead"));
-
- Music * req = note_req_l_arr_[i];
- if (scratch_note_reqs_.size())
- {
- req = scratch_note_reqs_[i];
- SCM pits = note_req_l_arr_[i]->get_mus_property ("pitch");
- req->set_mus_property ("pitch",pits);
- }
-
- note_p->set_grob_property ("duration-log",
- gh_int2scm (note_dur.duration_log ()));
-
- int dots= note_dur.dot_count ();
- if (dots)
- {
- Item * d = new Item (get_property ("Dots"));
- Rhythmic_head::set_dots (note_p, d);
-
- /*
- measly attempt to save an eeny-weenie bit of memory.
- */
- if (dots != gh_scm2int (d->get_grob_property ("dot-count")))
- d->set_grob_property ("dot-count", gh_int2scm (dots));
-
- d->set_parent (note_p, Y_AXIS);
- announce_grob (d, SCM_EOL);
- dot_p_arr_.push (d);
- }
-
- Pitch *pit =unsmob_pitch (req->get_mus_property ("pitch"));
-
- int pos = pit->steps ();
- SCM c0 = get_property ("centralCPosition");
- if (gh_number_p (c0))
- pos += gh_scm2int (c0);
-
- note_p->set_grob_property ("staff-position", gh_int2scm (pos));
- announce_grob (note_p,req->self_scm ());
- note_p_arr_.push (note_p);