2 input-translator.hh -- declare Input_translator
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
10 #ifndef INPUT_TRANSLATOR_HH
11 #define INPUT_TRANSLATOR_HH
15 #include "lily-proto.hh"
20 struct Input_translator_list : public Pointer_list<Input_translator*>
22 Input_translator_list(Input_translator_list const &);
23 Input_translator_list(){}
24 ~Input_translator_list(){}
27 /** Define a intereter for music. This is an runtime interface to the
29 class Input_translator : public Input {
31 Input_translator_list contains_itrans_p_list_;
32 Array<String> consists_str_arr_;
33 Array<String> alias_str_arr_;
36 String default_id_str_;
38 void add(Input_translator *);
39 bool is_name_b(String);
41 bool accepts_b(String);
43 Engraver_group_engraver * get_group_engraver_p();
44 Performer_group_performer * get_group_performer_p();
45 Input_translator * get_default_itrans_l();
46 Input_translator * recursive_find(String nm);
47 Input_translator * find_itrans_l(String nm);
49 Engraver* get_engraver_p(String);
50 Performer* get_performer_p(String);
52 #endif // Input_translator_HH