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
19namespace 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
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};
95EXP 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};
164EXP 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