13#ifndef ___mxmlTree2MsrSkeletonBuilder___
14#define ___mxmlTree2MsrSkeletonBuilder___
33 int startInputLineNumber,
44 int startInputLineNumber,
56 int getStartInputLineNumber ()
const
57 {
return fStartInputLineNumber; }
59 int getStopInputLineNumber ()
const
60 {
return fStopInputLineNumber; }
62 int getPartGroupNumber ()
const
63 {
return fPartGroupNumber; }
66 {
return fPartGroup; }
68 int getStartPosition ()
const
69 {
return fStartPosition; }
71 void setStopPosition (
72 int stopInputLineNumber,
75 fStopInputLineNumber = stopInputLineNumber;
76 fStopPosition = stopPosition;
79 int getStopPosition ()
const
80 {
return fStopPosition; }
85 string partGroupDescrAsString ()
const;
87 string getPartGroupCombinedName ()
const
91 getPartGroupCombinedName ();
97 virtual void print (ostream& os)
const;
104 int fStartInputLineNumber;
105 int fStopInputLineNumber;
107 int fPartGroupNumber;
122 public visitor<S_score_partwise>,
129 public visitor<S_movement_number>,
130 public visitor<S_movement_title>,
135 public visitor<S_identification>,
145 public visitor<S_encoding_date>,
148 public visitor<S_encoding_description>,
154 public visitor<S_miscellaneous>,
155 public visitor<S_miscellaneous_field>,
167 public visitor<S_system_layout>,
168 public visitor<S_system_margins>,
169 public visitor<S_system_distance>,
170 public visitor<S_top_system_distance>,
172 public visitor<S_system_dividers>,
173 public visitor<S_left_divider>,
174 public visitor<S_right_divider>,
182 public visitor<S_page_margins>,
184 public visitor<S_right_margin>,
186 public visitor<S_bottom_margin>,
192 public visitor<S_credit_words>,
199 public visitor<S_display_text>,
204 public visitor<S_group_name_display>,
206 public visitor<S_accidental_text>,
207 public visitor<S_group_abbreviation>,
208 public visitor<S_group_symbol>,
209 public visitor<S_group_barline>,
214 public visitor<S_part_name_display>,
216 public visitor<S_part_abbreviation>,
217 public visitor<S_part_abbreviation_display>,
219 public visitor<S_instrument_name>,
220 public visitor<S_instrument_abbreviation>,
279 {
return fMsrScore; }
288 void browseMxmlTree (
304 virtual void visitStart (
S_creator& elt);
305 virtual void visitStart (
S_rights& elt);
306 virtual void visitStart (
S_source& elt);
315 virtual void visitStart (
S_encoder& elt);
344 virtual void visitStart (
S_tenths& elt);
381 virtual void visitStart (
S_credit& elt);
382 virtual void visitEnd (
S_credit& elt);
419 virtual void visitStart (
S_part& elt);
420 virtual void visitEnd (
S_part& elt);
425 virtual void visitStart (
S_staves& elt);
427 virtual void visitStart (
S_staff& elt);
432 virtual void visitStart (
S_voice& elt );
437 virtual void visitStart (
S_measure& elt);
443 virtual void visitStart (
S_note& elt);
444 virtual void visitEnd (
S_note& elt);
449 virtual void visitStart (
S_lyric& elt);
450 virtual void visitEnd (
S_lyric& elt);
455 virtual void visitStart (
S_harmony& elt);
476 float fCurrentMillimeters;
479 bool fOnGoingPageLayout;
481 bool fOnGoingPageMargins;
482 msrMarginTypeKind fCurrentMarginTypeKind;
484 bool fOnGoingSystemLayout;
486 bool fOnGoingSystemMargins;
498 int fCurrentPartGroupNumber;
499 msrPartGroup::msrPartGroupTypeKind
500 fCurrentPartGroupTypeKind;
501 string fCurrentPartGroupName;
502 string fCurrentPartGroupAbbreviation;
504 bool fOnGoingPartGroupNameDisplay;
505 string fCurrentPartGroupNameDisplayText;
507 string fCurrentPartGroupAccidentalText;
508 msrPartGroup::msrPartGroupSymbolKind
509 fCurrentPartGroupSymbolKind;
510 msrPartGroup::msrPartGroupBarlineKind
511 fCurrentPartGroupBarlineKind;
512 int fCurrentPartGroupSymbolDefaultX;
519 void createImplicitPartGroup ();
523 int fPartGroupsCounter;
524 vector<S_mxmlPartGroupDescr>
525 fPartGroupDescsVector;
526 map<int, S_mxmlPartGroupDescr>
527 fAllPartGroupDescrsMap;
528 map<int, S_mxmlPartGroupDescr>
529 fStartedPartGroupDescrsMap;
531 void showPartGroupDescrsVector (
532 int inputLineNumber);
534 void showAllPartGroupDescrsMap (
535 int inputLineNumber);
537 void showStartedPartGroupDescrsMap (
538 int inputLineNumber);
541 int partGroupNumber);
543 list<S_mxmlPartGroupDescr>
544 fPartGroupsDescrStack;
546 void showPartGroupsStack (
547 int inputLineNumber);
551 void registerPartGroupDescrAsStarted (
555 void registerPartGroupDescrAsStopped (
559 void showPartGroupsData (
563 void handlePartGroupStart (
564 int inputLineNumber);
566 void handlePartGroupStop (
567 int inputLineNumber);
569 vector<list<S_mxmlPartGroupDescr> >
570 fPositionStartingPartGroupDescrsVector;
571 vector<list<S_mxmlPartGroupDescr> >
572 fPositionStoppingPartGroupDescrsVector;
574 void showPositionStartingPartGroupDescrsVector (
575 int inputLineNumber);
577 void showPositionStoppingPartGroupDescrsVector (
578 int inputLineNumber);
580 void insertPartGroupDescInStartingList (
583 list<S_mxmlPartGroupDescr>&
584 startingPartGroupDescrsList);
586 void insertPartGroupDescInStoppingList (
589 list<S_mxmlPartGroupDescr>&
590 stoppingPartGroupDescrsList);
592 void registerPartGroupDescrAsStoppingAtCurrentPosition (
601 void doNestPartGroupDescrInItsContainer (
606 void doPartGroupsNestingAndPartsAllocation (
607 int inputLineNumber);
614 string fCurrentPartID;
616 string fCurrentPartName;
617 string fCurrentPartNameDisplayText;
618 bool fOnGoingPartNameDisplay;
621 string fCurrentPartAbbreviation;
622 string fCurrentPartAbbreviationDisplayText;
623 bool fOnGoingPartAbbreviationDisplay;
625 string fCurrentPartInstrumentName;
626 string fCurrentPartInstrumentAbbreviation;
628 map<string, S_msrPart> fPartsMap;
630 int fCurrentNoIDPartNumber;
634 int fCurrentPartsPosition;
635 vector<S_msrPart> fPartsVector;
637 void showPartsVector (
638 int inputLineNumber);
646 int fCurrentStaffMusicXMLNumber;
648 S_msrStaff createStaffInCurrentPartIfNotYetDone (
656 int fCurrentVoiceMusicXMLNumber;
658 S_msrVoice createRegularVoiceInStaffIfNotYetDone (
671 string fCurrentMeasureNumber;
673 int fScoreNumberOfMeasures;
674 int fPartNumberOfMeasures;
685 string fCurrentStanzaNumber;
686 string fCurrentStanzaName;
692 bool fThereAreHarmoniesToBeAttachedToCurrentNote;
693 int fHarmonyVoicesCounter;
695 S_msrVoice createHarmonyVoiceForVoiceIfNotYetDone (
703 bool fThereAreFiguredBassToBeAttachedToCurrentNote;
704 int fFiguredBassVoicesCounter;
706 S_msrVoice createFiguredBassVoiceForVoiceIfNotYetDone (
Definition: utilities.h:213
Definition: mxmlTree2MsrSkeletonBuilder.h:264
Definition: partlistvisitor.h:29
the base class for smart pointers implementation
Definition: smartpointer.h:29
Definition: mxmlTree2MsrSkeletonBuilder.h:22