UGH. -> don't use eval.
*/
- SCM proc = scm_primitive_eval (ly_symbol2scm ("percussion?"));
+ static SCM proc;
+
+ if (!proc)
+ proc = scm_primitive_eval (ly_symbol2scm ("percussion?"));
+
SCM drums = gh_call1 (proc, ly_symbol2scm (instrument_string_.to_str0 ()));
audio_staff_->channel_ = (drums == SCM_BOOL_T ? 9 : -1 );
if (name_)
// mustn't ask Score for instrument: it will return piano!
SCM minstr = get_property ("midiInstrument");
- if (!gh_string_p (minstr))
- minstr = get_property ("instrument");
-
if (!gh_string_p (minstr)
|| ly_scm2string (minstr) == instrument_string_)
return "";