7class msrPart :
public msrPartGroupElement
14 #define K_PART_FIGURED_BASS_STAFF_NUMBER -219
15 #define K_PART_FIGURED_BASS_VOICE_NUMBER -227
20 static SMARTP<msrPart> create (
23 S_msrPartGroup partPartGroupUpLink);
25 SMARTP<msrPart> createPartNewbornClone (
26 S_msrPartGroup partGroupClone);
36 S_msrPartGroup partPartGroupUpLink);
45 void initializePart ();
54 void setPartPartGroupUpLink (
55 S_msrPartGroup partGroup)
56 { fPartPartGroupUpLink = partGroup; }
58 S_msrPartGroup getPartPartGroupUpLink ()
const
59 {
return fPartPartGroupUpLink; }
63 int getPartAbsoluteNumber ()
const
64 {
return fPartAbsoluteNumber; }
68 void setPartID (
string partID)
71 string getPartID ()
const
74 void setPartMsrName (
string partMsrName);
76 string getPartMsrName ()
const
77 {
return fPartMsrName; }
79 void setPartName (
string partName)
80 { fPartName = partName; }
82 string getPartName ()
const
85 void setPartNameDisplayText (
86 string partNameDisplayText)
88 fPartNameDisplayText =
92 string getPartNameDisplayText ()
const
93 {
return fPartNameDisplayText; }
95 void setPartAbbreviation (
96 string partAbbreviation)
102 string getPartAbbreviation ()
const
103 {
return fPartAbbreviation; }
105 void setPartAbbreviationDisplayText (
106 string partAbbreviationDisplayText)
108 fPartAbbreviationDisplayText =
109 partAbbreviationDisplayText;
112 string getPartAbbreviationDisplayText ()
const
113 {
return fPartAbbreviationDisplayText; }
115 string getPartCombinedName ()
const;
117 void setPartInstrumentNamesMaxLengthes ();
121 void setPartNumberOfMeasures (
122 int partNumberOfMeasures)
124 fPartNumberOfMeasures =
125 partNumberOfMeasures;
128 const int getPartNumberOfMeasures ()
const
129 {
return fPartNumberOfMeasures; }
132 void setPartInstrumentName (
133 string partInstrumentName)
135 fPartInstrumentName =
139 string getPartInstrumentName ()
const
140 {
return fPartInstrumentName; }
142 void setPartInstrumentAbbreviation (
143 string partInstrumentAbbreviation)
145 fPartInstrumentAbbreviation =
146 partInstrumentAbbreviation;
149 string getPartInstrumentAbbreviation ()
const
150 {
return fPartInstrumentAbbreviation; }
154 void setPartFiguredBassStaff (
155 S_msrStaff figuredBassStaff)
157 fPartFiguredBassStaff =
161 S_msrStaff getPartFiguredBassStaff ()
const
162 {
return fPartFiguredBassStaff; }
164 void setPartFiguredBassVoice (
165 S_msrVoice figuredBassVoice)
167 fPartFiguredBassVoice =
171 S_msrVoice getPartFiguredBassVoice ()
const
172 {
return fPartFiguredBassVoice; }
176 const map<int, S_msrStaff>&
178 {
return fPartStavesMap; }
182 void setPartCurrentPositionInMeasure (
186 void incrementPartCurrentPositionInMeasure (
189 void decrementPartCurrentPositionInMeasure (
193 rational getPartCurrentPositionInMeasure ()
const
194 {
return fPartCurrentPositionInMeasure; }
199 void assignSequentialNumbersToRegularVoicesInPart (
200 int inputLineNumber);
202 void addAVoiceToStavesThatHaveNone (
203 int inputLineNumber);
207 void appendPartNameDisplayToPart (
208 S_msrPartNameDisplay partNameDisplay);
212 void appendPartAbbreviationDisplayToPart (
213 S_msrPartAbbreviationDisplay partAbbreviationDisplay);
224 void createMeasureAndAppendItToPart (
226 string measureNumber,
227 msrMeasure::msrMeasureImplicitKind
228 measureImplicitKind);
230 void setNextMeasureNumberInPart (
232 string nextMeasureNumber);
236 void appendClefToPart (S_msrClef clef);
238 void appendKeyToPart (S_msrKey key);
240 void appendTimeToPart (S_msrTime time);
241 void appendTimeToPartClone (S_msrTime time);
245 void appendTransposeToPart (
246 S_msrTranspose transpose);
250 void appendStaffDetailsToPart (
251 S_msrStaffDetails staffDetails);
257 void appendBarlineToPart (S_msrBarline barline);
261 void handleRepeatStartInPart (
262 int inputLineNumber);
264 void handleRepeatEndInPart (
266 string measureNumber,
269 void handleRepeatEndingStartInPart (
270 int inputLineNumber);
272 void handleRepeatEndingEndInPart (
274 string repeatEndingNumber,
275 msrRepeatEnding::msrRepeatEndingKind
285 void appendRepeatCloneToPart (
287 S_msrRepeat repeatCLone);
289 void appendRepeatEndingCloneToPart (
290 S_msrRepeatEnding repeatEndingCLone);
292 void createRestMeasuresInPart (
294 int restMeasuresNumber);
296 void appendPendingRestMeasuresToPart (
297 int inputLineNumber);
299 void appendRestMeasuresCloneToPart (
301 S_msrRestMeasures restMeasures);
303 void createMeasuresRepeatFromItsFirstMeasuresInPart (
305 int measuresRepeatMeasuresNumber,
306 int measuresRepeatSlashesNumber);
308 void appendPendingMeasuresRepeatToPart (
309 int inputLineNumber);
311 void appendMeasuresRepeatCloneToPart (
313 S_msrRestMeasures restMeasures);
317 S_msrStaff addStaffToPartByItsNumber (
319 msrStaff::msrStaffKind staffKind,
322 void addStaffToPartCloneByItsNumber (
325 S_msrStaff fetchStaffFromPart (
int staffNumber);
329 void removePartEmptyVoices ();
341 void appendFiguredBassToPart (
342 S_msrVoice figuredBassSupplierVoice,
343 S_msrFiguredBass figuredBass);
345 void appendFiguredBassToPartClone (
346 S_msrVoice figuredBassSupplierVoice,
347 S_msrFiguredBass figuredBass);
351 void appendScordaturaToPart (
352 S_msrScordatura scordatura);
356 void appendAccordionRegistrationToPart (
357 S_msrAccordionRegistration
358 accordionRegistration);
362 void appendHarpPedalsTuningToPart (
363 S_msrHarpPedalsTuning
368 void addSkipGraceNotesGroupBeforeAheadOfVoicesClonesIfNeeded (
369 S_msrVoice graceNotesGroupOriginVoice,
370 S_msrGraceNotesGroup skipGraceNotesGroup);
379 void handleBackupInPart (
388 virtual void acceptIn (basevisitor* v);
389 virtual void acceptOut (basevisitor* v);
391 virtual void browseData (basevisitor* v);
398 virtual string asString ()
const;
400 virtual void print (ostream& os)
const;
402 virtual void printSummary (ostream& os);
411 S_msrPartGroup fPartPartGroupUpLink;
423 string fPartNameDisplayText;
425 string fPartAbbreviation;
426 string fPartAbbreviationDisplayText;
430 int fPartAbsoluteNumber;
434 string fPartInstrumentName;
435 string fPartInstrumentAbbreviation;
439 string fPartCurrentMeasureNumber;
441 int fPartNumberOfMeasures;
445 S_msrClef fPartCurrentClef;
447 S_msrKey fPartCurrentKey;
449 S_msrTime fPartCurrentTime;
453 S_msrTranspose fPartCurrentTranspose;
457 S_msrStaff fPartFiguredBassStaff;
458 S_msrVoice fPartFiguredBassVoice;
462 map<int, S_msrStaff> fPartStavesMap;
466 static int gPartsCounter;
470 bool fPartContainsRestMeasures;
479 void setPartCurrentMeasureNumber (
480 string measureNumber)
482 fPartCurrentMeasureNumber =
486 const string getPartCurrentMeasureNumber ()
const
487 {
return fPartCurrentMeasureNumber; }
491 S_msrClef getPartCurrentClef ()
const
492 {
return fPartCurrentClef; }
494 S_msrKey getPartCurrentKey ()
const
495 {
return fPartCurrentKey; }
497 void setPartCurrentTime (S_msrTime time)
498 { fPartCurrentTime = time; }
500 S_msrTime getPartCurrentTime ()
const
501 {
return fPartCurrentTime; }
505 S_msrTranspose getPartCurrentTranspose ()
const
506 {
return fPartCurrentTranspose; }
510 S_msrStaffDetails getCurrentPartStaffDetails ()
const
511 {
return fCurrentPartStaffDetails; }
515 void finalizeCurrentMeasureInPart (
516 int inputLineNumber);
519 int inputLineNumber);
521 void finalizePartClone (
522 int inputLineNumber);
538 S_msrStaffDetails fCurrentPartStaffDetails;
542 rational fPartCurrentPositionInMeasure;
544typedef SMARTP<msrPart> S_msrPart;
545EXP ostream& operator<< (ostream& os,
const S_msrPart& elt);
Definition: msrParts_MUT_DEP.h:8
Rational number representation.
Definition: rational.h:25