LibMusicXML 3.18
bsr2BrailleTranslator.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 ___bsr2BrailleTranslator___
14#define ___bsr2BrailleTranslator___
15
16#include "bsr.h"
17
18#include "bsrOah.h"
19
20#include "bsrBrailleCodeGenerators.h"
21
22
23namespace MusicXML2
24{
25
26//________________________________________________________________________
28
29 public visitor<S_bsrScore>,
30
31 public visitor<S_bsrSpaces>,
32
33 public visitor<S_bsrBarline>,
34
35 public visitor<S_bsrTranscriptionNotes>,
36 public visitor<S_bsrTranscriptionNotesElement>,
37
38 public visitor<S_bsrPage>,
39
40 public visitor<S_bsrPagination>,
41
42 public visitor<S_bsrPageHeading>,
43 public visitor<S_bsrMusicHeading>,
44
45 public visitor<S_bsrFootNotes>,
46
47 public visitor<S_bsrLine>,
48 public visitor<S_bsrLineContents>,
49
50 public visitor<S_bsrMeasure>,
51
52 public visitor<S_bsrNumber>,
53 public visitor<S_bsrWords>,
54
55 public visitor<S_bsrClef>,
56 public visitor<S_bsrKey>,
57 public visitor<S_bsrTime>,
58
59 public visitor<S_bsrTempo>,
60
61 public visitor<S_bsrNote>
62
63{
64 public:
65
68 S_bsrOah& bsrOpts,
69 indentedOstream& logOstream,
70 ostream& brailleCodeOutputStream);
71
72 virtual ~bsr2BrailleTranslator ();
73
74 void generateBrailleCodeFromBsrScore ();
75
76 protected:
77
78 virtual void visitStart (S_bsrScore& elt);
79 virtual void visitEnd (S_bsrScore& elt);
80
81 virtual void visitStart (S_bsrSpaces& elt);
82 virtual void visitEnd (S_bsrSpaces& elt);
83
84 virtual void visitStart (S_bsrBarline& elt);
85
86 virtual void visitStart (S_bsrTranscriptionNotes& elt);
87 virtual void visitEnd (S_bsrTranscriptionNotes& elt);
88
89 virtual void visitStart (S_bsrTranscriptionNotesElement& elt);
90 virtual void visitEnd (S_bsrTranscriptionNotesElement& elt);
91
92 virtual void visitStart (S_bsrPage& elt);
93 virtual void visitEnd (S_bsrPage& elt);
94
95 virtual void visitStart (S_bsrPagination& elt);
96 virtual void visitEnd (S_bsrPagination& elt);
97
98 virtual void visitStart (S_bsrPageHeading& elt);
99 virtual void visitEnd (S_bsrPageHeading& elt);
100 virtual void visitStart (S_bsrMusicHeading& elt);
101 virtual void visitEnd (S_bsrMusicHeading& elt);
102
103 virtual void visitStart (S_bsrFootNotes& elt);
104 virtual void visitEnd (S_bsrFootNotes& elt);
105
106 virtual void visitStart (S_bsrLine& elt);
107 virtual void visitEnd (S_bsrLine& elt);
108 virtual void visitStart (S_bsrLineContents& elt);
109 virtual void visitEnd (S_bsrLineContents& elt);
110
111 virtual void visitStart (S_bsrMeasure& elt);
112 virtual void visitEnd (S_bsrMeasure& elt);
113
114 virtual void visitStart (S_bsrNumber& elt);
115 virtual void visitEnd (S_bsrNumber& elt);
116
117 virtual void visitStart (S_bsrWords& elt);
118 virtual void visitEnd (S_bsrWords& elt);
119
120 virtual void visitStart (S_bsrClef& elt);
121 virtual void visitEnd (S_bsrClef& elt);
122
123 virtual void visitStart (S_bsrKey& elt);
124 virtual void visitEnd (S_bsrKey& elt);
125
126 virtual void visitStart (S_bsrTime& elt);
127 virtual void visitEnd (S_bsrTime& elt);
128
129 virtual void visitStart (S_bsrTempo& elt);
130 virtual void visitEnd (S_bsrTempo& elt);
131
132 virtual void visitStart (S_bsrNote& elt);
133 virtual void visitEnd (S_bsrNote& elt);
134
135 private:
136
137 S_bsrScore fVisitedBsrScore;
138
139 S_bsrOah fBsrOah;
140
141 indentedOstream& fLogOutputStream;
142
143 S_bsrBrailleGenerator fBrailleGenerator;
144};
145
146
147}
148
149
150#endif
Definition: bsr2BrailleTranslator.h:63
Definition: bsrScores.h:32
Definition: utilities.h:213
Definition: visitor.h:27