]> git.donarmstrong.com Git - lilypond.git/blob - hdr/key.hh
release: 0.0.31
[lilypond.git] / hdr / key.hh
1 /*
2   key.hh -- declare Key
3
4   (c) 1996,97 Han-Wen Nienhuys
5 */
6
7 #ifndef KEY_HH
8 #define KEY_HH
9
10 #include "varray.hh"
11 #include "scalar.hh"
12
13 /// administration of current key
14 class Key {
15     Array<int> accidentals;
16
17     /* *************** */
18
19 public:
20     Array<int> read(Array<Scalar> );
21     Array<int> oldkey_undo(Array<Scalar>);
22
23     Key();
24     void set(int i, int acc);
25     int acc(int i) { return accidentals[i]; }
26 };
27
28 /// administration of accidentals
29 struct Local_key
30 {
31     void reset(Key);    
32     Key& oct(int);
33     Local_key();
34
35 private:
36     Array<Key> octaves;
37 };
38
39 #endif // KEY_HH
40
41