LibMusicXML
3.22
src
visitors
clefvisitor.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 __clefVisitor__
14
#define __clefVisitor__
15
16
#include "typedefs.h"
17
#include "visitor.h"
18
19
namespace
MusicXML2
20
{
21
30
class
EXP
clefvisitor
:
31
public
visitor
<S_clef>,
32
public
visitor
<S_sign>,
33
public
visitor
<S_line>,
34
public
visitor
<S_clef_octave_change>
35
{
36
protected
:
37
void
reset();
38
virtual
void
visitStart (
S_clef
& elt );
39
virtual
void
visitStart (
S_sign
& elt );
40
virtual
void
visitStart (
S_line
& elt );
41
virtual
void
visitStart (
S_clef_octave_change
& elt );
42
43
public
:
44
enum
{ kStandardLine, kTrebleStdLine=2, kBassStdLine=4, kCStdLine=3, kTabStdLine=5 };
45
enum
{ kNoNumber = -1 };
46
47
clefvisitor
() { reset(); }
48
virtual
~clefvisitor
() {}
49
50
std::string fSign;
51
int
fLine;
52
int
fOctaveChange;
53
int
fNumber;
54
};
55
56
59
}
60
61
#endif
MusicXML2::SMARTP< musicxml< k_clef > >
MusicXML2::clefvisitor
key element data
Definition
clefvisitor.h:35
MusicXML2::visitor
Definition
visitor.h:27
Generated by
1.12.0