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 
23 namespace 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