2 local-key-item.hh -- part of GNU LilyPond
4 (c) 1996--1999 Han-Wen Nienhuys
7 #ifndef LOCALKEYITEM_HH
8 #define LOCALKEYITEM_HH
11 #include "musical-pitch.hh"
12 #include "staff-symbol-referencer.hh"
13 #include "note-head-side.hh"
15 struct Local_key_cautionary_tuple
21 Local_key_cautionary_tuple ()
23 cautionary_b_ = false;
26 static int compare (Local_key_cautionary_tuple const&s1, Local_key_cautionary_tuple const&s2)
28 return Musical_pitch::compare (s1.pitch_, s2.pitch_);
33 Accidentals which can be different for each octave.
38 Make an item for each accidental separately, and make a
39 Accidental_column to group them.
43 class Local_key_item : public Note_head_side, public Staff_symbol_referencer {
44 Array<Local_key_cautionary_tuple> accidental_arr_;
46 Molecule accidental (int,bool) const;
50 void add_pitch (Musical_pitch, bool cautionary, bool natural);
52 virtual void do_pre_processing();
53 virtual void do_substitute_element_pointer (Score_element*,Score_element*);
54 virtual Molecule* do_brew_molecule_p() const;
56 #endif // LOCALKEYITEM_HH