X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fthread-devnull-engraver.cc;h=9e995b2f741183c2c7a23dfc16c7a0e218d7763b;hb=20091095d3ac112fa0d0c55c8e2b8092584be4b2;hp=4487d746cedcc49b08fbac9e4a9b07b09ee53e9d;hpb=304e2fcfec9dff35906b69b2413ad7d9a77f8534;p=lilypond.git diff --git a/lily/thread-devnull-engraver.cc b/lily/thread-devnull-engraver.cc index 4487d746ce..9e995b2f74 100644 --- a/lily/thread-devnull-engraver.cc +++ b/lily/thread-devnull-engraver.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2000 Jan Nieuwenhuizen + (c) 2000--2001 Jan Nieuwenhuizen */ #include "engraver.hh" @@ -25,9 +25,21 @@ ADD_THIS_TRANSLATOR (Thread_devnull_engraver); void Thread_devnull_engraver::acknowledge_grob (Grob_info i) { - if (daddy_trans_l_->id_str_.left_str (3) == "two" - && (to_boolean (get_property ("unison")) - || to_boolean (get_property ("unisilence"))) - && to_boolean (get_property ("soloADue"))) - i.elem_l_->suicide (); + SCM s = get_property ("devNullThread"); +#if 0 + /* No need, next if will never be true */ + if (s == ly_symbol2scm ("never")) + return; +#endif + + if (s == ly_symbol2scm ("allways") + || (s == SCM_EOL + && daddy_trans_l_->id_str_.left_str (3) == "two" + && (to_boolean (get_property ("unison")) + || to_boolean (get_property ("unisilence"))) + && to_boolean (get_property ("soloADue")))) + { + /* Ugh, we can suicide them, but they remain living */ + i.elem_l_->suicide (); + } }