- Music * o = props_[i];
- SCM pred = o->get_mus_property ("predicate");
-
- /*
- should typecheck pred.
- */
- SCM result=gh_apply (pred,
- gh_list (inf.elem_l_->self_scm (), SCM_UNDEFINED));
- if (to_boolean (result))
- {
- SCM sym = o->get_mus_property ("symbol");
- SCM val = o->get_mus_property ("value");
- inf.elem_l_->set_elt_property (sym, val);
- }
+ Stream_event *o = props_[i];
+ Context *d = inf.context ();
+ SCM proc = o->get_property ("procedure");
+ scm_call_3 (proc,
+ inf.grob ()->self_scm (),
+ d->self_scm (),
+ context ()->self_scm ());