-
- for (int i = 0;
- left_to_do_ && i < note_reqs_.size (); i++)
- {
- Item *note = make_item ("NoteHead");
-
- Music * req = note_reqs_[i];
- if (scratch_note_reqs_.size ())
- {
- req = scratch_note_reqs_[i];
- SCM pits = note_reqs_[i]->get_property ("pitch");
- req->set_property ("pitch",pits);
- }
-
- req->set_property ("duration", note_dur.smobbed_copy ());
- note->set_property ("duration-log",
- gh_int2scm (note_dur.duration_log ()));
-
- int dots= note_dur.dot_count ();
- if (dots)
- {
- Item * d = make_item ("Dots");
- Rhythmic_head::set_dots (note, d);
-
- /*
- measly attempt to save an eeny-weenie bit of memory.
- */
- if (dots != gh_scm2int (d->get_property ("dot-count")))
- d->set_property ("dot-count", gh_int2scm (dots));
-
- d->set_parent (note, Y_AXIS);
- announce_grob (d, SCM_EOL);
- dots_.push (d);
- }
-
- Pitch *pit =unsmob_pitch (req->get_property ("pitch"));
-
- int pos = pit->steps ();
- SCM c0 = get_property ("middleCPosition");
- if (gh_number_p (c0))
- pos += gh_scm2int (c0);
-
- note->set_property ("staff-position", gh_int2scm (pos));
- announce_grob (note,req->self_scm ());
- notes_.push (note);
- }
-