LibMusicXML  3.18
keysignvisitor.h
1 /*
2  MusicXML Library
3  Copyright (C) Grame 2006-2013
4 
5  This Source Code Form is subject to the terms of the Mozilla Public
6  License, v. 2.0. If a copy of the MPL was not distributed with this
7  file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 
9  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
10  research@grame.fr
11 */
12 
13 #ifndef __keysignvisitor__
14 #define __keysignvisitor__
15 
16 #include <vector>
17 #include <utility>
18 #include "typedefs.h"
19 #include "visitor.h"
20 
21 namespace MusicXML2
22 {
23 
32 class EXP keysignvisitor :
33  public visitor<S_key>,
34  public visitor<S_cancel>,
35  public visitor<S_fifths>,
36  public visitor<S_mode>
37 {
38  protected:
39  int fCurrentBeat;
40 
41  void reset();
42  virtual void visitStart( S_key& elt );
43  virtual void visitStart( S_fifths& elt );
44  virtual void visitStart( S_cancel& elt );
45  virtual void visitStart( S_mode& elt );
46 
47  public:
48  keysignvisitor() { reset(); }
49  virtual ~keysignvisitor() {}
50 
51  std::string fMode;
52  int fFifths;
53  int fCancel;
54 };
55 
56 
59 }
60 
61 #endif
key element data
Definition: keysignvisitor.h:37
Definition: visitor.h:27