LibMusicXML 3.22
transposevisitor.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 __transposeVisitor__
14#define __transposeVisitor__
15
16#include "typedefs.h"
17#include "visitor.h"
18
19namespace MusicXML2
20{
21
26
30class EXP transposevisitor :
31 public visitor<S_transpose>,
32 public visitor<S_diatonic>,
33 public visitor<S_chromatic>,
34 public visitor<S_octave_change>,
35 public visitor<S_double>
36{
37 protected:
38 virtual void visitStart( S_transpose& elt );
39 virtual void visitStart( S_diatonic& elt );
40 virtual void visitStart( S_chromatic& elt );
41 virtual void visitStart( S_octave_change& elt );
42 virtual void visitStart( S_double& elt );
43
44 public:
45 transposevisitor() { reset(); }
46 virtual ~transposevisitor() {}
47 virtual void reset();
48
49 int fDiatonic;
50 int fChromatic;
51 int fOctaveChange;
52 bool fDouble;
53};
54
55
57
58}
59
60#endif
Definition visitor.h:27