Jari, here's a suggestion for the smartshape iterator: instead of browsing all smartshapes, I would a prefer a filter for hairpins, slurs, customlines, etc. that also implements the logical method as used in the other filters. Something like: AddSmartShapeFilter(int filter, int logicmode) Best, Jan