2 a2-devnull-engraver.cc -- implement A2_devnull_engraver
4 source file of the GNU LilyPond music typesetter
6 (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
11 #include "musical-request.hh"
12 #include "translator-group.hh"
14 class A2_devnull_engraver
: public Engraver
17 VIRTUAL_COPY_CONS (Translator
);
20 virtual void acknowledge_element (Score_element_info
);
21 virtual bool do_try_music (Music
*);
24 ADD_THIS_TRANSLATOR (A2_devnull_engraver
);
26 Maybe this is too crude.
27 It would probably be better to have a devnull engraver in StaffContext,
28 that acknowledges stuff and suicides it.
31 A2_devnull_engraver::do_try_music (Music
*m
)
33 if (1 //daddy_trans_l_->id_str_ == "two"
34 && (to_boolean (get_property ("unison"))
35 || to_boolean (get_property ("unisilence"))))
38 We mustn't junk Rest requests
40 if (Span_req
*s
= dynamic_cast <Span_req
*> (m
))
42 if (s
->span_type_str_
== "slur"
43 || s
->span_type_str_
== "beam"
44 || s
->span_type_str_
== "crescendo"
45 || s
->span_type_str_
== "decrescendo")
51 else if (Tie_req
*t
= dynamic_cast<Tie_req
*> (m
))
55 else if (Text_script_req
*d
= dynamic_cast <Text_script_req
*> (m
))
64 A2_devnull_engraver::acknowledge_element (Score_element_info i
)
66 if (daddy_trans_l_
->id_str_
== "two"
67 && (to_boolean (get_property ("unison"))
68 || to_boolean (get_property ("unisilence")))
69 && to_boolean (get_property ("soloADue")))
70 i
.elem_l_
->suicide ();