2 local-key-engraver.hh -- declare Local_key_engraver
4 (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
8 #ifndef LOCALKEYGRAV_HH
9 #define LOCALKEYGRAV_HH
11 #include "engraver.hh"
15 Make accidentals. Catches note heads, ties and notices key-change
16 events. Due to interaction with ties (which don't come together
17 with note heads), this needs to be in a context higher than Tie_engraver.
20 struct Local_key_engraver : Engraver {
21 Local_key_item *key_item_p_;
23 VIRTUAL_COPY_CONS(Translator);
24 virtual void do_process_requests();
25 virtual void acknowledge_element (Score_element_info);
26 virtual void do_pre_move_processing();
27 virtual void do_creation_processing ();
28 virtual void process_acknowledged ();
29 virtual void do_removal_processing ();
33 Key_engraver *key_grav_l_;
34 Array<Note_req* > mel_l_arr_;
35 Array<Item* > support_l_arr_;
36 Link_array<Item > forced_l_arr_;
37 Link_array<Item > tied_l_arr_;
40 Grace_align_item * grace_align_l_;
43 #endif // LOCALKEYGRAV_HH