LibMusicXML 3.18
msrRestMeasures_MUT_DEP.h
1/*
2 This file is to be included only by msrMutualDependencies.h,
3 to satisfy declarations mutual dependencies.
4*/
5
6//______________________________________________________________________________
7class msrRestMeasuresContents : public msrElement
8{
9 public:
10
11 // creation from MusicXML
12 // ------------------------------------------------------
13
14 static SMARTP<msrRestMeasuresContents> create (
15 int inputLineNumber,
16 S_msrRestMeasures restMeasures);
17
18 SMARTP<msrRestMeasuresContents> createRestMeasuresContentsNewbornClone (
19 S_msrRestMeasures restMeasures);
20
21 SMARTP<msrRestMeasuresContents> createRestMeasuresContentsDeepCopy (
22 S_msrVoice containingVoice);
23
24 protected:
25
26 // constructors/destructor
27 // ------------------------------------------------------
28
30 int inputLineNumber,
31 S_msrRestMeasures restMeasures);
32
33 virtual ~msrRestMeasuresContents ();
34
35 public:
36
37 // set and get
38 // ------------------------------------------------------
39
40 // upLink
41 S_msrRestMeasures
42 getRestMeasuresContentsRestMeasuresUpLink () const
43 {
44 return fRestMeasuresContentsRestMeasuresUpLink;
45 }
46
47 void setRestMeasuresContentsSegment (
48 int inputLineNumber,
49 S_msrSegment restMeasuresContentsSegment);
50
51 S_msrSegment getRestMeasuresContentsSegment () const
52 { return fRestMeasuresContentsSegment; }
53
54 // services
55 // ------------------------------------------------------
56
57 int restMeasuresContentsMeasuresNumber () const;
58
59 void collectRestMeasuresContentsMeasuresIntoFlatList (
60 int inputLineNumber);
61
62 public:
63
64 // visitors
65 // ------------------------------------------------------
66
67 virtual void acceptIn (basevisitor* v);
68 virtual void acceptOut (basevisitor* v);
69
70 virtual void browseData (basevisitor* v);
71
72 public:
73
74 // print
75 // ------------------------------------------------------
76
77 string asString () const;
78
79 virtual void print (ostream& os) const;
80
81 private:
82
83 // fields
84 // ------------------------------------------------------
85
86 // upLink
87 S_msrRestMeasures fRestMeasuresContentsRestMeasuresUpLink;
88
89 S_msrSegment fRestMeasuresContentsSegment;
90};
91typedef SMARTP<msrRestMeasuresContents> S_msrRestMeasuresContents;
92EXP ostream& operator<< (ostream& os, const S_msrRestMeasuresContents& elt);
93
94//______________________________________________________________________________
95class msrRestMeasures : public msrVoiceElement
96{
97 public:
98
99 // data types
100 // ------------------------------------------------------
101
102 enum msrRestMeasuresKind {
103 kStartRestMeasures, kStopRestMeasures,
104 k_NoRestMeasures };
105
106 static string restMeasuresKindAsString (
107 msrRestMeasuresKind restMeasuresKind);
108
109 // creation from MusicXML
110 // ------------------------------------------------------
111
112 static SMARTP<msrRestMeasures> create (
113 int inputLineNumber,
114 rational restMeasuresMeasureSoundingNotes,
115 int restMeasuresNumber,
116 S_msrVoice voiceUpLink);
117
118 static SMARTP<msrRestMeasures> create (
119 int inputLineNumber,
120 S_msrMeasure restMeasureClone,
121 S_msrVoice voiceUpLink);
122
123 SMARTP<msrRestMeasures> createRestMeasuresNewbornClone (
124 S_msrVoice containingVoice);
125
126 SMARTP<msrRestMeasures> createRestMeasuresDeepCopy (
127 S_msrVoice containingVoice);
128
129 protected:
130
131 // constructors/destructor
132 // ------------------------------------------------------
133
135 int inputLineNumber,
136 rational restMeasuresMeasureSoundingNotes,
137 int restMeasuresNumber,
138 S_msrVoice voiceUpLink);
139
141 int inputLineNumber,
142 S_msrMeasure restMeasureClone,
143 S_msrVoice voiceUpLink);
144
145 virtual ~msrRestMeasures ();
146
147 public:
148
149 // set and get
150 // ------------------------------------------------------
151
152 S_msrVoice getRestMeasuresVoiceUpLink () const
153 { return fRestMeasuresVoiceUpLink; }
154
155 int getRestMeasuresNumber () const
156 { return fRestMeasuresNumber; }
157
158 void setRestMeasuresContents (
159 S_msrRestMeasuresContents
160 restMeasuresContents);
161
162 S_msrRestMeasuresContents
163 getRestMeasuresContents () const
164 { return fRestMeasuresContents; }
165
166 void setRestMeasuresNextMeasureNumber (
167 string nextMeasureNumber);
168
169 string getRestMeasuresNextMeasureNumber () const
170 { return fRestMeasuresNextMeasureNumber; }
171
172 void setRestMeasuresLastMeasurePuristMeasureNumber (
173 int inputLineNumber);
174
175 int getRestMeasuresLastMeasurePuristMeasureNumber () const
176 { return fRestMeasuresLastMeasurePuristNumber; }
177
178 rational getRestMeasuresMeasureSoundingNotes () const
179 { return fRestMeasuresMeasureSoundingNotes; }
180
181 // services
182 // ------------------------------------------------------
183
184 void appendMeasureCloneToRestMeasures (
185 S_msrMeasure measureClone);
186
187 int restMeasuresContentsMeasuresNumber () const
188 {
189 return
190 fRestMeasuresContents->
191 restMeasuresContentsMeasuresNumber ();
192 }
193
194 void collectRestMeasuresIntoFlatList (
195 int inputLineNumber);
196
197 public:
198
199 // visitors
200 // ------------------------------------------------------
201
202 virtual void acceptIn (basevisitor* v);
203 virtual void acceptOut (basevisitor* v);
204
205 virtual void browseData (basevisitor* v);
206
207 public:
208
209 // print
210 // ------------------------------------------------------
211
212 string asString () const;
213
214 void displayRestMeasures (
215 int inputLineNumber,
216 string context);
217
218 virtual void print (ostream& os) const;
219
220 private:
221
222 // fields
223 // ------------------------------------------------------
224
225 S_msrVoice fRestMeasuresVoiceUpLink;
226
227 int fRestMeasuresNumber;
228
229 S_msrRestMeasuresContents
230 fRestMeasuresContents;
231
232 string fRestMeasuresNextMeasureNumber;
233 int fRestMeasuresLastMeasurePuristNumber;
234
235 // shortcut for efficiency
236 rational fRestMeasuresMeasureSoundingNotes;
237};
238typedef SMARTP<msrRestMeasures> S_msrRestMeasures;
239EXP ostream& operator<< (ostream& os, const S_msrRestMeasures& elt);
240
Definition: msrRestMeasures_MUT_DEP.h:8
Definition: msrRestMeasures_MUT_DEP.h:96
Rational number representation.
Definition: rational.h:25