+ send_stream_event (get_outlet (), "SetProperty", get_music ()->origin (),
+ ly_symbol2scm ("symbol"), get_music ()->get_property ("symbol"),
+ ly_symbol2scm ("value"), get_music ()->get_property ("value"));
+
+ Simple_music_iterator::process (m);
+}
+
+void
+Property_unset_iterator::process (Moment m)
+{
+ SCM sym = get_music ()->get_property ("symbol");
+ send_stream_event (get_outlet (), "UnsetProperty", get_music ()->origin (),
+ ly_symbol2scm ("symbol"), sym);
+
+ Simple_music_iterator::process (m);
+}
+
+MAKE_SCHEME_CALLBACK (Property_iterator, once_finalization, 2);
+SCM
+Property_iterator::once_finalization (SCM ctx, SCM music)
+{
+ Music *m = unsmob_music (music);
+ Context *c = unsmob_context (ctx);
+
+ send_stream_event (c, "UnsetProperty", m->origin (),
+ ly_symbol2scm ("symbol"), m->get_property ("symbol"));
+ return SCM_UNSPECIFIED;
+}
+
+void
+Property_iterator::do_quit ()
+{
+ if (to_boolean (get_music ()->get_property ("once")))