- int pos = pit ? pit->steps () : 0;
- SCM c0 = get_property ("middleCPosition");
- if (scm_is_number (c0))
- pos += scm_to_int (c0);
+ int pos;
+ if (pit == 0)
+ pos = 0;
+ else if (ly_is_procedure (layout_proc)){
+ SCM pitch = ev->get_property("pitch");
+ pos = scm_to_int(scm_call_1 (layout_proc, pitch));
+ }
+ else
+ pos = pit->steps ();