LibMusicXML  3.18
lpsrBookBlockElements.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 ___lpsrBookBlockElements___
14 #define ___lpsrBookBlockElements___
15 
16 /*
17 #include <sstream>
18 #include <vector>
19 #include <string>
20 #include <list>
21 
22 
23 #include "exports.h"
24 #include "typedefs.h"
25 
26 #include "msrBasicTypes.h"
27 
28 
29 #include "lpsrVarValAssocs.h"
30 
31 #include "lpsrScheme.h"
32 */
33 
34 #include "lpsrComments.h"
35 
36 #include "lpsrScheme.h"
37 
38 #include "lpsrHeaders.h"
39 #include "lpsrPapers.h"
40 #include "lpsrLayouts.h"
41 
42 #include "lpsrParallelMusic.h"
43 #include "lpsrVarValAssocs.h"
44 
45 //#include "msrBlocks.h"
46 
47 #include "msrMidi.h"
48 
49 
50 namespace MusicXML2
51 {
52 
53 //______________________________________________________________________________
55 {
56  public:
57 
58  // creation from MusicXML
59  // ------------------------------------------------------
60 
61  static SMARTP<lpsrBookBlockElement> create (
62  int inputLineNumber);
63 
64  protected:
65 
66  // constructors/destructor
67  // ------------------------------------------------------
68 
70  int inputLineNumber);
71 
72  virtual ~lpsrBookBlockElement ();
73 
74  public:
75 
76  // set and get
77  // ------------------------------------------------------
78 
79  S_lpsrHeader getBookBlockElementHeader () const
80  { return fBookBlockElementHeader; }
81 
83  getBlockElementParallelMusicBLock () const
84  {
85  return
86  fBookBlockElementParallelMusicBlock;
87  }
88 
89  // services
90  // ------------------------------------------------------
91 
92  void appendPartGroupBlockToBlockElement (
93  S_lpsrPartGroupBlock partGroupBlock);
94 
95  public:
96 
97  // visitors
98  // ------------------------------------------------------
99 
100  virtual void acceptIn (basevisitor* v);
101  virtual void acceptOut (basevisitor* v);
102 
103  virtual void browseData (basevisitor* v);
104 
105  public:
106 
107  // print
108  // ------------------------------------------------------
109 
110  virtual void print (ostream& os) const;
111 
112  protected:
113 
114  // fields
115  // ------------------------------------------------------
116 
117  S_lpsrHeader fBookBlockElementHeader;
118 
120  fBookBlockElementParallelMusicBlock;
121 };
123 EXP ostream& operator<< (ostream& os, const S_lpsrBookBlockElement& elt);
124 
125 //______________________________________________________________________________
127 {
128  public:
129 
130  // creation from MusicXML
131  // ------------------------------------------------------
132 
133  static SMARTP<lpsrScoreBlock> create (
134  int inputLineNumber);
135 
136  protected:
137 
138  // constructors/destructor
139  // ------------------------------------------------------
140 
142  int inputLineNumber);
143 
144  virtual ~lpsrScoreBlock ();
145 
146  public:
147 
148  // set and get
149  // ------------------------------------------------------
150 
151  S_lpsrLayout getScoreBlockLayout () const
152  { return fScoreBlockLayout; }
153 
154  S_msrMidiTempo getScoreBlockMidiTempo () const
155  { return fScoreBlockMidiTempo; }
156 
157  // services
158  // ------------------------------------------------------
159 
160  void appendPartGroupBlockToScoreBlock (
161  S_lpsrPartGroupBlock partGroupBlock);
162 
163  public:
164 
165  // visitors
166  // ------------------------------------------------------
167 
168  virtual void acceptIn (basevisitor* v);
169  virtual void acceptOut (basevisitor* v);
170 
171  virtual void browseData (basevisitor* v);
172 
173  public:
174 
175  // print
176  // ------------------------------------------------------
177 
178  virtual void print (ostream& os) const;
179 
180  private:
181 
182  // fields
183  // ------------------------------------------------------
184 
185  S_lpsrLayout fScoreBlockLayout;
186 
187  S_msrMidiTempo fScoreBlockMidiTempo;
188 };
190 EXP ostream& operator<< (ostream& os, const S_lpsrScoreBlock& elt);
191 
192 //______________________________________________________________________________
194 {
195  public:
196 
197  // creation from MusicXML
198  // ------------------------------------------------------
199 
200  static SMARTP<lpsrBookPartBlock> create (
201  int inputLineNumber);
202 
203  protected:
204 
205  // constructors/destructor
206  // ------------------------------------------------------
207 
209  int inputLineNumber);
210 
211  virtual ~lpsrBookPartBlock ();
212 
213  public:
214 
215  // set and get
216  // ------------------------------------------------------
217 
218  // services
219  // ------------------------------------------------------
220 
221  void appendPartGroupBlockToBookPartBlock (
222  S_lpsrPartGroupBlock partGroupBlock);
223 
224  public:
225 
226  // visitors
227  // ------------------------------------------------------
228 
229  virtual void acceptIn (basevisitor* v);
230  virtual void acceptOut (basevisitor* v);
231 
232  virtual void browseData (basevisitor* v);
233 
234  public:
235 
236  // print
237  // ------------------------------------------------------
238 
239  virtual void print (ostream& os) const;
240 
241  private:
242 
243  // fields
244  // ------------------------------------------------------
245 };
247 EXP ostream& operator<< (ostream& os, const S_lpsrBookPartBlock& elt);
248 
249 //______________________________________________________________________________
251 {
252  public:
253 
254  // creation from MusicXML
255  // ------------------------------------------------------
256 
257  static SMARTP<lpsrBookBlock> create (
258  int inputLineNumber);
259 
260  protected:
261 
262  // constructors/destructor
263  // ------------------------------------------------------
264 
265  lpsrBookBlock (
266  int inputLineNumber);
267 
268  virtual ~lpsrBookBlock ();
269 
270  public:
271 
272  // set and get
273  // ------------------------------------------------------
274 
275  void setBookBlockHeader (
276  S_lpsrHeader bookBlockHeader)
277  { fBookBlockHeader = bookBlockHeader; }
278 
279  S_lpsrHeader getBookBlockHeader () const
280  { return fBookBlockHeader; }
281 
282  void setBookBlockPaper (
283  S_lpsrPaper bookBlockPaper)
284  { fBookBlockPaper = bookBlockPaper; }
285 
286  S_lpsrPaper getBookBlockPaper () const
287  { return fBookBlockPaper; }
288 
289  const list<S_lpsrBookBlockElement>&
290  getBookBlockElementsList () const
291  { return fBookBlockElementsList; }
292 
293  public:
294 
295  // public services
296  // ------------------------------------------------------
297 
298  void appendLpsrScoreBlockToBookBlockElementsList (
299  S_lpsrScoreBlock scoreBlock);
300 
301  void appendLpsrBookPartBlockToBookBlockElementsList (
302  S_lpsrBookPartBlock bookPartBlock);
303 
304  protected:
305 
306  // protected services
307  // ------------------------------------------------------
308 
309  void appendBookBlockElementToBookBlockElementsList (
310  S_lpsrBookBlockElement bookBlockElement);
311 
312  public:
313 
314  // visitors
315  // ------------------------------------------------------
316 
317  virtual void acceptIn (basevisitor* v);
318  virtual void acceptOut (basevisitor* v);
319 
320  virtual void browseData (basevisitor* v);
321 
322  public:
323 
324  // print
325  // ------------------------------------------------------
326 
327  virtual void print (ostream& os) const;
328 
329  private:
330 
331  // fields
332  // ------------------------------------------------------
333 
334  S_lpsrHeader fBookBlockHeader;
335 
336  S_lpsrPaper fBookBlockPaper;
337 
338  list<S_lpsrBookBlockElement>
339  fBookBlockElementsList;
340 };
342 EXP ostream& operator<< (ostream& os, const S_lpsrBookBlock& elt);
343 
344 
345 }
346 
347 
348 #endif
the smart pointer implementation
Definition: smartpointer.h:58
Definition: basevisitor.h:25
Definition: lpsrBookBlockElements.h:55
Definition: lpsrBookBlockElements.h:251
Definition: lpsrBookBlockElements.h:194
Definition: lpsrElements.h:24
Definition: lpsrBookBlockElements.h:127