GUIDOLib  1.7.7
Guido Engine Internal Documentation
GRPrintVisitor.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 ___GRPrintVisitor___
15 #define ___GRPrintVisitor___
16 
17 #include <iostream>
18 #include "GRVisitor.h"
19 
20 
21 class GRPrintVisitor : public GRVisitor
22 {
23  std::ostream& fOut;
24 
25  public:
26  GRPrintVisitor(std::ostream& out) : fOut(out) {}
27  virtual ~GRPrintVisitor() {}
28 
29  virtual bool voiceMode () { return true; }
30 
31  virtual void visitStart (GRNotationElement* o);
32  virtual void visitEnd (GRNotationElement* o);
33 
34  virtual void visitStart (GRMusic* o);
35  virtual void visitEnd (GRMusic* o);
36 
37  virtual void visitStart (GRVoice* o);
38  virtual void visitEnd (GRVoice* o);
39 
40  virtual void visitStart (GRPage* o);
41  virtual void visitEnd (GRPage* o);
42 
43  virtual void visitStart (GRSystem* o);
44  virtual void visitEnd (GRSystem* o);
45 
46  virtual void visitStart (GRStaff* o);
47  virtual void visitEnd (GRStaff* o);
48 
49  virtual void visitStart (GRSingleNote* o);
50  virtual void visitEnd (GRSingleNote* o);
51 
52  virtual void visitStart (GRSingleRest* o);
53 
54  virtual void visitStart (GRBeam* o);
55  virtual void visitStart (GRRange* o);
56  virtual void visitStart (GRText* o);
57  virtual void visitStart (GREmpty* o);
58  virtual void visitStart (GRClef* o);
59  virtual void visitStart (GRKey* o);
60  virtual void visitStart (GRSlur* o);
61  virtual void visitStart (GRDynamics* o);
62  virtual void visitStart (GRIntens* o);
63  virtual void visitStart (GRMeter* o);
64  virtual void visitStart (GRArticulation* o);
65  virtual void visitStart (GRBar* o);
66  virtual void visitStart (GRTrill* o);
67 };
68 
69 #endif
GRBar
Measure bar.
Definition: GRBar.h:29
GRVisitor
Definition: GRVisitor.h:39
GRPrintVisitor::~GRPrintVisitor
virtual ~GRPrintVisitor()
Definition: GRPrintVisitor.h:27
GRSingleNote
Graphical representation of a note event.
Definition: GRSingleNote.h:38
GRPrintVisitor::visitEnd
virtual void visitEnd(GRNotationElement *o)
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
GRSingleRest
Graphical representation of a rest.
Definition: GRSingleRest.h:25
GRNotationElement
parent class for all notation elements.
Definition: GRNotationElement.h:54
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
GRPrintVisitor
Definition: GRPrintVisitor.h:21
GRPrintVisitor::visitStart
virtual void visitStart(GRNotationElement *o)
GREmpty
An empty (invisible) event.
Definition: GREmpty.h:23
GRText
A text string.
Definition: GRText.h:34
GRStaff
A GRStaff represents a single line of music.
Definition: GRStaff.h:181
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
GRVoice
Graphical representation of a voice.
Definition: GRVoice.h:49
GRPrintVisitor::GRPrintVisitor
GRPrintVisitor(std::ostream &out)
Definition: GRPrintVisitor.h:26
GRPrintVisitor::voiceMode
virtual bool voiceMode()
Definition: GRPrintVisitor.h:29
GRIntens
not yet documented
Definition: GRIntens.h:28
GRBeam
The Beam notation element.
Definition: GRBeam.h:79
GRArticulation
Articulations: staccato, accent, marcato, tenuto, fermata, breath-mark, harmonics.
Definition: GRArticulation.h:35
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
GRTrill
GRTrill tag.
Definition: GRTrill.h:32

Guido Project Copyright © 2019 Grame-CNCM