13#ifndef ___msrPartGroups___
14#define ___msrPartGroups___
16#include "msrPartGroupElements.h"
18#include "msrMutualDependencies.h"
26typedef SMARTP<msrPart> S_msrPart;
29typedef SMARTP<msrPartGroup> S_msrPartGroup;
32typedef SMARTP<msrScore> S_msrScore;
56 enum msrPartGroupImplicitKind {
57 kPartGroupImplicitYes, kPartGroupImplicitNo};
59 static string partGroupImplicitKindAsString (
60 msrPartGroupImplicitKind partGroupImplicitKind);
62 enum msrPartGroupTypeKind {
64 kPartGroupTypeStart, kPartGroupTypeStop };
66 static string partGroupTypeKindAsString (
67 msrPartGroupTypeKind partGroupTypeKind);
69 enum msrPartGroupSymbolKind {
71 kPartGroupSymbolBrace, kPartGroupSymbolBracket,
72 kPartGroupSymbolLine, kPartGroupSymbolSquare};
74 static string partGroupSymbolKindAsString (
75 msrPartGroupSymbolKind partGroupSymbolKind);
77 enum msrPartGroupBarlineKind {
78 kPartGroupBarlineYes, kPartGroupBarlineNo};
80 static string partGroupBarlineKindAsString (
81 msrPartGroupBarlineKind partGroupBarlineKind);
89 int partGroupAbsoluteNumber,
91 string partGroupNameDisplayText,
92 string partGroupAccidentalText,
93 string partGroupAbbreviation,
94 msrPartGroupSymbolKind partGroupSymbolKind,
95 int partGroupSymbolDefaultX,
96 msrPartGroupBarlineKind partGroupBarlineKind,
102 int partGroupAbsoluteNumber,
103 string partGroupName,
104 string partGroupNameDisplayText,
105 string partGroupAccidentalText,
106 string partGroupAbbreviation,
107 msrPartGroupBarlineKind partGroupBarlineKind,
122 int partGroupAbsoluteNumber,
123 string partGroupName,
124 string partGroupNameDisplayText,
125 string partGroupAccidentalText,
126 string partGroupAbbreviation,
127 msrPartGroupSymbolKind partGroupSymbolKind,
128 int partGroupSymbolDefaultX,
129 msrPartGroupImplicitKind partGroupImplicitKind,
130 msrPartGroupBarlineKind partGroupBarlineKind,
142 void setPartGroupPartGroupUpLink (
145 fPartGroupPartGroupUpLink =
150 {
return fPartGroupPartGroupUpLink; }
153 {
return fPartGroupScoreUpLink; }
156 int getPartGroupAbsoluteNumber ()
const
157 {
return fPartGroupAbsoluteNumber; }
159 int getPartGroupNumber ()
const
160 {
return fPartGroupNumber; }
164 string getPartGroupCombinedName ()
const;
166 string getPartGroupCombinedNameWithoutEndOfLines ()
const;
171 string getPartGroupNameDisplayText ()
const
172 {
return fPartGroupNameDisplayText; }
174 string getPartGroupAccidentalText ()
const
175 {
return fPartGroupAccidentalText; }
177 string getPartGroupName ()
const
178 {
return fPartGroupName; }
180 string getPartGroupAbbreviation ()
const
181 {
return fPartGroupAbbreviation; }
183 msrPartGroupSymbolKind
184 getPartGroupSymbolKind ()
const
185 {
return fPartGroupSymbolKind; }
187 int getPartGroupSymbolDefaultX ()
const
188 {
return fPartGroupSymbolDefaultX; }
190 msrPartGroupImplicitKind
191 getPartGroupImplicitKind ()
const
192 {
return fPartGroupImplicitKind; }
194 msrPartGroupBarlineKind
195 getPartGroupBarlineKind ()
const
196 {
return fPartGroupBarlineKind; }
198 void setPartGroupInstrumentName (
string name);
200 string getPartGroupInstrumentName ()
const
201 {
return fPartGroupInstrumentName; }
203 const list<S_msrPartGroupElement>&
204 getPartGroupElements ()
const
205 {
return fPartGroupElements; }
210 S_msrPart appendPartToPartGroupByItsPartID (
214 void appendPartToPartGroup (
S_msrPart part);
216 void removePartFromPartGroup (
220 void prependSubPartGroupToPartGroup (
223 void appendSubPartGroupToPartGroup (
226 S_msrPart fetchPartFromPartGroupByItsPartID (
230 void collectPartGroupPartsList (
232 list<S_msrPart>& partsList);
249 string partGroupSymbolKindAsString ()
const
252 partGroupSymbolKindAsString (
253 fPartGroupSymbolKind);
256 void printPartGroupParts (
260 string partGroupImplicitKindAsString ()
const;
262 string partGroupBarlineKindAsString ()
const;
264 virtual string asString ()
const;
266 virtual void print (ostream& os)
const;
268 virtual void printSummary (ostream& os);
284 int fPartGroupNumber;
285 int fPartGroupAbsoluteNumber;
289 string fPartGroupName;
290 string fPartGroupNameDisplayText;
292 string fPartGroupAccidentalText;
294 string fPartGroupAbbreviation;
298 msrPartGroupSymbolKind
299 fPartGroupSymbolKind;
303 int fPartGroupSymbolDefaultX;
307 msrPartGroupImplicitKind
308 fPartGroupImplicitKind;
312 msrPartGroupBarlineKind
313 fPartGroupBarlineKind;
317 string fPartGroupInstrumentName;
320 map<string, S_msrPart>
324 list<S_msrPartGroupElement>
Definition: basevisitor.h:25
Definition: msrPartGroupElements.h:27
Definition: msrPartGroups.h:36
Definition: partlistvisitor.h:29
Definition: msrParts_MUT_DEP.h:8