GUIDOLib  1.7.7
Guido Engine Internal Documentation
GRVisitor.h
1 /*
2  GUIDO Library
3  Copyright (C) 2017 Grame
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 
14 #ifndef ___GRVisitor___
15 #define ___GRVisitor___
16 
17 class GRNotationElement;
18 class GRArticulation;
19 class GRBar;
20 class GRBeam;
21 class GRClef;
22 class GRDynamics;
23 class GREmpty;
24 class GRIntens;
25 class GRKey;
26 class GRMeter;
27 class GRMusic;
28 class GRPage;
29 class GRRange;
30 class GRSingleNote;
31 class GRSingleRest;
32 class GRSlur;
33 class GRStaff;
34 class GRSystem;
35 class GRText;
36 class GRTrill;
37 class GRVoice;
38 
39 class GRVisitor
40 {
41  public:
42  virtual ~GRVisitor() {};
43 
44  virtual bool voiceMode () = 0;
45 
46  virtual void visitStart (GRNotationElement* o) {};
47  virtual void visitEnd (GRNotationElement* o) {};
48 
49  virtual void visitStart (GRMusic* o) {}
50  virtual void visitEnd (GRMusic* o) {}
51 
52  virtual void visitStart (GRPage* o) {}
53  virtual void visitEnd (GRPage* o) {}
54 
55  virtual void visitStart (GRVoice* o) {}
56  virtual void visitEnd (GRVoice* o) {}
57 
58  virtual void visitStart (GRSystem* o) {}
59  virtual void visitEnd (GRSystem* o) {}
60 
61  virtual void visitStart (GRStaff* o) {}
62  virtual void visitEnd (GRStaff* o) {}
63 
64  virtual void visitStart (GRSlur* o) {}
65  virtual void visitEnd (GRSlur* o) {}
66 
67  virtual void visitStart (GRDynamics* o) {}
68  virtual void visitEnd (GRDynamics* o) {}
69 
70  virtual void visitStart (GRIntens* o) {}
71  virtual void visitEnd (GRIntens* o) {}
72 
73  virtual void visitStart (GRMeter* o) {}
74  virtual void visitEnd (GRMeter* o) {}
75 
76  virtual void visitStart (GRClef* o) {}
77  virtual void visitEnd (GRClef* o) {}
78 
79  virtual void visitStart (GRKey* o) {}
80  virtual void visitEnd (GRKey* o) {}
81 
82  virtual void visitStart (GREmpty* o) {}
83  virtual void visitEnd (GREmpty* o) {}
84 
85  virtual void visitStart (GRRange* o) {}
86  virtual void visitEnd (GRRange* o) {}
87 
88  virtual void visitStart (GRBeam* o) {}
89  virtual void visitEnd (GRBeam* o) {}
90 
91  virtual void visitStart (GRArticulation* o) {}
92  virtual void visitEnd (GRArticulation* o) {}
93 
94  virtual void visitStart (GRBar* o) {}
95  virtual void visitEnd (GRBar* o) {}
96 
97  virtual void visitStart (GRText* o) {}
98  virtual void visitEnd (GRText* o) {}
99 
100  virtual void visitStart (GRTrill* o) {}
101  virtual void visitEnd (GRTrill* o) {}
102 
103  virtual void visitStart (GRSingleNote* o) {}
104  virtual void visitEnd (GRSingleNote* o) {}
105 
106  virtual void visitStart (GRSingleRest* o) {}
107  virtual void visitEnd (GRSingleRest* o) {}
108 };
109 
110 #endif
GRVisitor::visitEnd
virtual void visitEnd(GRBar *o)
Definition: GRVisitor.h:95
GRBar
Measure bar.
Definition: GRBar.h:29
GRVisitor
Definition: GRVisitor.h:39
GRSingleNote
Graphical representation of a note event.
Definition: GRSingleNote.h:38
GRVisitor::visitStart
virtual void visitStart(GRRange *o)
Definition: GRVisitor.h:85
GRVisitor::visitStart
virtual void visitStart(GRArticulation *o)
Definition: GRVisitor.h:91
GRKey
Key notation tag.
Definition: GRKey.h:29
GRPage
Graphical representation of a score page. Contains one or more instances of class GRSystem.
Definition: GRPage.h:40
GRVisitor::visitStart
virtual void visitStart(GRSystem *o)
Definition: GRVisitor.h:58
GRVisitor::visitEnd
virtual void visitEnd(GRBeam *o)
Definition: GRVisitor.h:89
GRVisitor::visitStart
virtual void visitStart(GRBeam *o)
Definition: GRVisitor.h:88
GRVisitor::visitStart
virtual void visitStart(GRMusic *o)
Definition: GRVisitor.h:49
GRVisitor::visitEnd
virtual void visitEnd(GRSystem *o)
Definition: GRVisitor.h:59
GRVisitor::visitStart
virtual void visitStart(GRKey *o)
Definition: GRVisitor.h:79
GRVisitor::visitEnd
virtual void visitEnd(GRMusic *o)
Definition: GRVisitor.h:50
GRSingleRest
Graphical representation of a rest.
Definition: GRSingleRest.h:25
GRNotationElement
parent class for all notation elements.
Definition: GRNotationElement.h:54
GRVisitor::visitEnd
virtual void visitEnd(GREmpty *o)
Definition: GRVisitor.h:83
GRMusic
Graphical representation of the music. It handles a list of voices and a list of pages.
Definition: GRMusic.h:41
GRClef
Graphial representation of a staff clef.
Definition: GRClef.h:28
GRVisitor::visitEnd
virtual void visitEnd(GRVoice *o)
Definition: GRVisitor.h:56
GRVisitor::visitStart
virtual void visitStart(GRClef *o)
Definition: GRVisitor.h:76
GREmpty
An empty (invisible) event.
Definition: GREmpty.h:23
GRVisitor::visitEnd
virtual void visitEnd(GRSlur *o)
Definition: GRVisitor.h:65
GRVisitor::visitStart
virtual void visitStart(GRVoice *o)
Definition: GRVisitor.h:55
GRText
A text string.
Definition: GRText.h:34
GRVisitor::visitStart
virtual void visitStart(GRDynamics *o)
Definition: GRVisitor.h:67
GRVisitor::visitEnd
virtual void visitEnd(GRIntens *o)
Definition: GRVisitor.h:71
GRStaff
A GRStaff represents a single line of music.
Definition: GRStaff.h:181
GRVisitor::visitEnd
virtual void visitEnd(GRPage *o)
Definition: GRVisitor.h:53
GRVisitor::visitStart
virtual void visitStart(GRPage *o)
Definition: GRVisitor.h:52
GRSlur
Graphical representation of a slur.
Definition: GRSlur.h:24
GRRange
Placeholder for range-tags that directly place articulation marks for notes/events ....
Definition: GRRange.h:29
GRVisitor::voiceMode
virtual bool voiceMode()=0
GRVoice
Graphical representation of a voice.
Definition: GRVoice.h:49
GRVisitor::visitEnd
virtual void visitEnd(GRRange *o)
Definition: GRVisitor.h:86
GRVisitor::visitStart
virtual void visitStart(GRSingleNote *o)
Definition: GRVisitor.h:103
GRVisitor::visitStart
virtual void visitStart(GRSingleRest *o)
Definition: GRVisitor.h:106
GRVisitor::visitEnd
virtual void visitEnd(GRNotationElement *o)
Definition: GRVisitor.h:47
GRVisitor::visitStart
virtual void visitStart(GRNotationElement *o)
Definition: GRVisitor.h:46
GRVisitor::visitStart
virtual void visitStart(GRText *o)
Definition: GRVisitor.h:97
GRVisitor::visitEnd
virtual void visitEnd(GRDynamics *o)
Definition: GRVisitor.h:68
GRVisitor::visitStart
virtual void visitStart(GRStaff *o)
Definition: GRVisitor.h:61
GRVisitor::visitStart
virtual void visitStart(GRTrill *o)
Definition: GRVisitor.h:100
GRIntens
not yet documented
Definition: GRIntens.h:28
GRBeam
The Beam notation element.
Definition: GRBeam.h:79
GRVisitor::visitStart
virtual void visitStart(GRBar *o)
Definition: GRVisitor.h:94
GRVisitor::visitStart
virtual void visitStart(GRMeter *o)
Definition: GRVisitor.h:73
GRVisitor::visitEnd
virtual void visitEnd(GRStaff *o)
Definition: GRVisitor.h:62
GRArticulation
Articulations: staccato, accent, marcato, tenuto, fermata, breath-mark, harmonics.
Definition: GRArticulation.h:35
GRVisitor::visitEnd
virtual void visitEnd(GRArticulation *o)
Definition: GRVisitor.h:92
GRDynamics
Definition: GRDynamics.h:28
GRMeter
Meter notation tag.
Definition: GRMeter.h:30
GRSystem
Manages a number of staffs and has a given start and end timeposition. GRSystem is the grafical repre...
Definition: GRSystem.h:52
GRVisitor::visitStart
virtual void visitStart(GRSlur *o)
Definition: GRVisitor.h:64
GRVisitor::visitEnd
virtual void visitEnd(GRMeter *o)
Definition: GRVisitor.h:74
GRVisitor::visitEnd
virtual void visitEnd(GRText *o)
Definition: GRVisitor.h:98
GRVisitor::visitEnd
virtual void visitEnd(GRTrill *o)
Definition: GRVisitor.h:101
GRVisitor::visitEnd
virtual void visitEnd(GRSingleRest *o)
Definition: GRVisitor.h:107
GRVisitor::visitEnd
virtual void visitEnd(GRKey *o)
Definition: GRVisitor.h:80
GRVisitor::visitStart
virtual void visitStart(GRIntens *o)
Definition: GRVisitor.h:70
GRVisitor::visitEnd
virtual void visitEnd(GRClef *o)
Definition: GRVisitor.h:77
GRTrill
GRTrill tag.
Definition: GRTrill.h:32
GRVisitor::visitStart
virtual void visitStart(GREmpty *o)
Definition: GRVisitor.h:82
GRVisitor::~GRVisitor
virtual ~GRVisitor()
Definition: GRVisitor.h:42
GRVisitor::visitEnd
virtual void visitEnd(GRSingleNote *o)
Definition: GRVisitor.h:104

Guido Project Copyright © 2019 Grame-CNCM