LibMusicXML 3.22
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
21namespace MusicXML2
22{
23
28
32class 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
58
59}
60
61#endif
Definition visitor.h:27