- if (Note_column::has_interface (b))
- {
- for (SCM s = b->get_property ("note-heads"); scm_is_pair (s); s =scm_cdr (s))
- {
- Grob * h = unsmob_grob (scm_car (s));
- ext.unite (h->extent (common, X_AXIS));
- Grob * dots = Rhythmic_head::get_dots (h);
-
- if (dots && d == RIGHT)
- {
- ext.unite (dots->extent (common, X_AXIS));
- }
- }
- }
-
+ if (has_interface<Note_column> (b))
+ {
+ extract_grob_set (b, "note-heads", heads);
+ for (vsize i = 0; i < heads.size (); i++)
+ {
+ Grob *h = heads[i];
+ ext.unite (h->extent (common, X_AXIS));
+ Grob *dots = Rhythmic_head::get_dots (h);
+
+ if (dots && d == RIGHT)
+ ext.unite (dots->extent (common, X_AXIS));
+ }
+ }
+