9 const int FLAT_TOP_PITCH=2; /* fes,ges,as and bes typeset in lower octave */
10 const int SHARP_TOP_PITCH=4; /* ais and bis typeset in lower octave */
12 Keyitem::Keyitem(int c)
18 Keyitem::read(Array<int> s)
20 for (int i = 0 ; i< s.size(); ) {
29 Keyitem::read(const Clef& c)
31 c_position=(c.c0_pos+70)%7;
36 Keyitem::add(int p, int a)
38 if ((a<0 && p>FLAT_TOP_PITCH) ||
39 (a>0 && p>SHARP_TOP_PITCH)) {
40 p=p-7; /* Typeset below c_position */
48 Keyitem::brew_molecule_p()const
50 Molecule*output = new Molecule;
51 Real inter = paper()->interline()/2;
53 for (int i =0; i < pitch.size(); i++) {
54 Symbol s= paper()->lookup_p_->accidental(acc[i]);
56 a.translate(Offset(0,(c_position + pitch[i]) * inter));
60 Molecule m(paper()->lookup_p_->fill(Box(
61 Interval(0, paper()->note_width()),