+ Stream_event *ev = unsmob_stream_event (scm_car (s));
+
+ if (!ev)
+ continue;
+
+ if (ev->in_event_class ("fingering-event"))
+ add_fingering (inf.grob (),
+ ly_symbol2scm ("Fingering"),
+ &fingerings_,
+ ev, note_ev);
+ else if (ev->in_event_class ("text-script-event"))
+ ev->origin ()->warning (_ ("cannot add text scripts to individual note heads"));
+ else if (ev->in_event_class ("script-event"))
+ add_script (inf.grob (), ev, note_ev);
+ else if (ev->in_event_class ("string-number-event"))
+ add_fingering (inf.grob (),
+ ly_symbol2scm ("StringNumber"), &string_numbers_,
+ ev, note_ev);
+ else if (ev->in_event_class ("stroke-finger-event"))
+ add_fingering (inf.grob (),
+ ly_symbol2scm ("StrokeFinger"), &stroke_fingerings_,
+ ev, note_ev);
+ else if (ev->in_event_class ("harmonic-event"))
+ {
+ inf.grob ()->set_property ("style", ly_symbol2scm ("harmonic"));
+ Grob *d = unsmob_grob (inf.grob ()->get_object ("dot"));
+ if (d && !to_boolean (get_property ("harmonicDots")))
+ d->suicide ();
+ }