LibMusicXML  3.18
bsrTranscriptionNotes.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 ___bsrTranscriptionNotes___
14 #define ___bsrTranscriptionNotes___
15 
16 #include "bsrMutualDependencies.h"
17 
18 
19 namespace MusicXML2
20 {
21 
22 //______________________________________________________________________________
24 {
25  public:
26 
27  // creation
28  // ------------------------------------------------------
29 
31  int inputLineNumber,
32  string transcriptionNoteText);
33 
34  protected:
35 
36  // constructors/destructor
37  // ------------------------------------------------------
38 
40  int inputLineNumber,
41  string transcriptionNoteText);
42 
43  virtual ~bsrTranscriptionNotesElement ();
44 
45  public:
46 
47  // set and get
48  // ------------------------------------------------------
49 
50  string getTranscriptionNoteText () const
51  { return fTranscriptionNoteText; }
52 
53  public:
54 
55  // public services
56  // ------------------------------------------------------
57 
58  S_bsrCellsList fetchCellsList () const
59  { return buildCellsList (); }
60 
61  private:
62 
63  // private services
64  // ------------------------------------------------------
65 
66  S_bsrCellsList buildCellsList () const;
67 
68  public:
69 
70  // visitors
71  // ------------------------------------------------------
72 
73  virtual void acceptIn (basevisitor* v);
74  virtual void acceptOut (basevisitor* v);
75 
76  virtual void browseData (basevisitor* v);
77 
78  public:
79 
80  // print
81  // ------------------------------------------------------
82 
83  string asString () const;
84 
85  virtual void print (ostream& os) const;
86 
87  private:
88 
89  // fields
90  // ------------------------------------------------------
91 
92  string fTranscriptionNoteText;
93 };
95 EXP ostream& operator<< (ostream& os, const S_bsrTranscriptionNotesElement& elt);
96 
97 //______________________________________________________________________________
99 {
100  public:
101 
102  // creation
103  // ------------------------------------------------------
104 
105  static SMARTP<bsrTranscriptionNotes> create (
106  int inputLineNumber);
107 
108  protected:
109 
110  // constructors/destructor
111  // ------------------------------------------------------
112 
114  int inputLineNumber);
115 
116  virtual ~bsrTranscriptionNotes ();
117 
118  public:
119 
120  // set and get
121  // ------------------------------------------------------
122 
123  public:
124 
125  // services
126  // ------------------------------------------------------
127 
128  void appendElementToTranscriptionNotes (
129  S_bsrTranscriptionNotesElement transcriptionNotesElement)
130  {
131  fTranscriptionNotesElementsList.push_back (
132  transcriptionNotesElement);
133  }
134 
135  int fetchLineContentsNumber () const
136  { return fLineContentsList.size (); }
137 
138  public:
139 
140  // visitors
141  // ------------------------------------------------------
142 
143  virtual void acceptIn (basevisitor* v);
144  virtual void acceptOut (basevisitor* v);
145 
146  virtual void browseData (basevisitor* v);
147 
148  public:
149 
150  // print
151  // ------------------------------------------------------
152 
153  virtual void print (ostream& os) const;
154 
155  private:
156 
157  // fields
158  // ------------------------------------------------------
159 
160  list<S_bsrTranscriptionNotesElement>
161  fTranscriptionNotesElementsList;
162 };
164 EXP ostream& operator<< (ostream& os, const S_bsrTranscriptionNotes& elt);
165 
166 
167 } // namespace MusicXML2
168 
169 
170 #endif
the smart pointer implementation
Definition: smartpointer.h:58
Definition: basevisitor.h:25
Definition: bsrElements.h:24
Definition: bsrTranscriptionNotes.h:24
Definition: bsrTranscriptionNotes.h:99
Definition: bsrLines_MUT_DEP.h:111