LibMusicXML  3.18
bsrScores.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 ___bsrScores___
14 #define ___bsrScores___
15 
16 #include <sstream>
17 #include <string>
18 #include <list>
19 
20 #include "msrScores.h"
21 
22 #include "bsrTranscriptionNotes.h"
23 
24 #include "bsrOah.h"
25 
26 
27 namespace MusicXML2
28 {
29 
30 //______________________________________________________________________________
31 class bsrScore : public bsrElement
32 {
33  public:
34 
35  // creation
36  // ------------------------------------------------------
37 
38  static SMARTP<bsrScore> create (
39  int inputLineNumber,
40  S_msrScore mScore);
41 
42  protected:
43 
44  // constructors/destructor
45  // ------------------------------------------------------
46 
47  bsrScore (
48  int inputLineNumber,
49  S_msrScore mScore);
50 
51  virtual ~bsrScore ();
52 
53  public:
54 
55  // set and get
56  // ------------------------------------------------------
57 
58  S_msrScore getMsrScore () const
59  { return fMsrScore; }
60 
62  getTranscriptionNotes () const
63  { return fTranscriptionNotes; }
64 
65  int getBrailleLineLength () const
66  { return fBrailleLineLength; }
67 
68  int getBraillePageLength () const
69  { return fBraillePageLength; }
70 
71  public:
72 
73  // public services
74  // ------------------------------------------------------
75 
76  void appendPageToScore (S_bsrPage page)
77  { fScorePagesList.push_back (page); }
78 
79  void appendTranscriptionNotesElementToScore ( // JMI
81  transcriptionNotesElement)
82  {
83  fTranscriptionNotes->
84  appendElementToTranscriptionNotes (
85  transcriptionNotesElement);
86  }
87 
88  private:
89 
90  // private services
91  // ------------------------------------------------------
92 
93  public:
94 
95  // visitors
96  // ------------------------------------------------------
97 
98  virtual void acceptIn (basevisitor* v);
99  virtual void acceptOut (basevisitor* v);
100 
101  virtual void browseData (basevisitor* v);
102 
103  public:
104 
105  // print
106  // ------------------------------------------------------
107 
108  virtual void print (ostream& os) const;
109 
110  private:
111 
112  // fields
113  // ------------------------------------------------------
114 
115  // MSR data
116  S_msrScore fMsrScore;
117 
119  fTranscriptionNotes;
120 
121  int fBrailleLineLength; // cells JMI ???
122  int fBraillePageLength;
123 
124  list<S_bsrPage> fScorePagesList;
125 };
127 EXP ostream& operator<< (ostream& os, const S_bsrScore& score);
128 
129 
130 }
131 
132 
133 #endif
Definition: basevisitor.h:25
Definition: bsrElements.h:24
Definition: bsrScores.h:32