LibMusicXML  3.18
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 
19 namespace MusicXML2
20 {
21 
30 class 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 
58 }
59 
60 #endif
the smart pointer implementation
Definition: smartpointer.h:58
a musicxml transpose element visitor
Definition: transposevisitor.h:36
Definition: visitor.h:27