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
50namespace 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};
123EXP 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};
190EXP 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};
247EXP 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
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};
342EXP 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