- /* It would be nice to do this decentrally, but the order of this is
- significant. */
- if (dynamic_cast<Request_chord *> (m))
+ SCM type = m->get_mus_property ("type") ;
+
+ if (type == ly_symbol2scm ("property-set"))
+ p = new Property_iterator;
+ else if (type == ly_symbol2scm ("property-push"))
+ p = new Push_property_iterator;
+ else if (type == ly_symbol2scm ("property-pop"))
+ p = new Pop_property_iterator;
+ else if (type == ly_symbol2scm ("output-property"))
+ p = new Output_property_music_iterator;
+ else if (type == ly_symbol2scm ("request-chord"))