- Item *note_p = new Item (get_property ("NoteHead"));
-
- Staff_symbol_referencer::set_interface (note_p);
-
- Music * req = note_req_l_arr_[i];
- if (scratch_note_reqs_.size())
- {
- req = scratch_note_reqs_[i];
- req->set_mus_property ("pitch",
- note_req_l_arr_[i]->get_mus_property ("pitch"));
- }
- 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,0);
- 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));
- if (to_boolean (get_property ("easyPlay")))
- {
- char s[2] = "a";
- s[0] = (pit->notename_i_ + 2)%7 + 'a';
-
- s[0] = toupper (s[0]);
- note_p->set_grob_property ("note-character", ly_str02scm (s));
- }
+ for (vsize i = 0; i < tie_note_candidate_events_.size(); i++)
+ for (vsize j = 0; j < note_events_.size(); j++)
+ {
+ Pitch *p = unsmob_pitch (note_events_[j]->get_property ("pitch"));
+ Pitch *p_last
+ = unsmob_pitch (tie_note_candidate_events_[j]->get_property ("pitch"));
+ if (p && p_last && *p == *p_last)
+ make_tie (tie_note_candidates_[i], notes_[j]);
+ }
+ }