13#ifndef ___lpsr2LilypondTranslator___
14#define ___lpsr2LilypondTranslator___
38 int repeatEndingsNumber);
46 int repeatEndingsNumber);
55 int getRepeatEndingsNumber ()
const
56 {
return fRepeatEndingsNumber; }
58 void incrementRepeatEndingsCounter ()
59 { fRepeatEndingsCounter ++; }
61 int getRepeatEndingsCounter ()
const
62 {
return fRepeatEndingsCounter; }
64 void setEndOfRepeatHasBeenGenerated ()
65 { fEndOfRepeatHasBeenGenerated =
true; }
67 bool getEndOfRepeatHasBeenGenerated ()
const
68 {
return fEndOfRepeatHasBeenGenerated; }
73 string repeatDescrAsString ()
const;
78 virtual void print (ostream& os)
const;
85 int fRepeatEndingsNumber;
86 int fRepeatEndingsCounter;
88 bool fEndOfRepeatHasBeenGenerated;
102 public visitor<S_lpsrVarValAssoc>,
103 public visitor<S_lpsrVarValsListAssoc>,
104 public visitor<S_lpsrSchemeVariable>,
124 public visitor<S_lpsrParallelMusicBLock>,
126 public visitor<S_lpsrBookBlock>,
127 public visitor<S_lpsrScoreBlock>,
128 public visitor<S_lpsrBookPartBlock>,
130 public visitor<S_lpsrPartGroupBlock>,
131 public visitor<S_lpsrPartBlock>,
132 public visitor<S_lpsrStaffBlock>,
134 public visitor<S_lpsrUseVoiceCommand>,
135 public visitor<S_lpsrNewLyricsBlock>,
136 public visitor<S_lpsrVariableUseCommand>,
139 public visitor<S_lpsrChordNamesContext>,
140 public visitor<S_lpsrFiguredBassContext>,
142 public visitor<S_lpsrBarCommand>,
148 public visitor<S_lpsrSchemeFunction>,
156 public visitor<S_msrPageLayout>,
161 public visitor<S_msrCreditWords>,
165 public visitor<S_msrPartGroup>,
171 public visitor<S_msrStaffTuning>,
172 public visitor<S_msrStaffDetails>,
180 public visitor<S_msrVoiceStaffChange>,
192 public visitor<S_msrFiguredBass>,
215 public visitor<S_msrTranspose>,
219 public visitor<S_msrPartNameDisplay>,
220 public visitor<S_msrPartAbbreviationDisplay>,
229 public visitor<S_msrTempoRelationshipElements>,
230 public visitor<S_msrTempoNote>,
231 public visitor<S_msrTempoTuplet>,
235 public visitor<S_msrArticulation>,
239 public visitor<S_msrArpeggiato>,
240 public visitor<S_msrNonArpeggiato>,
244 public visitor<S_msrTechnical>,
245 public visitor<S_msrTechnicalWithInteger>,
246 public visitor<S_msrTechnicalWithFloat>,
247 public visitor<S_msrTechnicalWithString>,
255 public visitor<S_msrGlissando>,
263 public visitor<S_msrSingleTremolo>,
265 public visitor<S_msrDoubleTremolo>,
271 public visitor<S_msrOtherDynamics>,
277 public visitor<S_msrGraceNotesGroup>,
279 public visitor<S_msrAfterGraceNotesGroup>,
280 public visitor<S_msrAfterGraceNotesGroupContents>,
285 public visitor<S_msrOctaveShift>,
289 public visitor<S_msrAccordionRegistration>,
293 public visitor<S_msrHarpPedalsTuning>,
317 public visitor<S_msrEyeGlasses>,
321 public visitor<S_msrScordatura>,
325 public visitor<S_msrBarNumberCheck>,
327 public visitor<S_msrLineBreak>,
329 public visitor<S_msrPageBreak>,
334 public visitor<S_msrRepeatCommonPart>,
335 public visitor<S_msrRepeatEnding>,
337 public visitor<S_msrMeasuresRepeat>,
338 public visitor<S_msrMeasuresRepeatPattern>,
339 public visitor<S_msrMeasuresRepeatReplicas>,
341 public visitor<S_msrRestMeasures>,
342 public visitor<S_msrRestMeasuresContents>,
346 public visitor<S_msrRehearsal>,
364 void generateLilypondCodeFromLpsrScore ();
461 virtual void visitStart (
S_msrPart& elt);
481 virtual void visitStart (S_msrFigure& elt);
492 virtual void visitStart (S_msrSyllable& elt);
493 virtual void visitEnd (S_msrSyllable& elt);
495 virtual void visitStart (
S_msrClef& elt);
498 virtual void visitStart (
S_msrKey& elt);
499 virtual void visitEnd (
S_msrKey& elt);
501 virtual void visitStart (
S_msrTime& elt);
544 virtual void visitStart (S_msrOrnament& elt);
545 virtual void visitEnd (S_msrOrnament& elt);
547 virtual void visitStart (S_msrGlissando& elt);
548 virtual void visitEnd (S_msrGlissando& elt);
550 virtual void visitStart (S_msrSlide& elt);
551 virtual void visitEnd (S_msrSlide& elt);
556 virtual void visitStart (S_msrDoubleTremolo& elt);
557 virtual void visitEnd (S_msrDoubleTremolo& elt);
573 virtual void visitStart (S_msrAfterGraceNotesGroupContents& elt);
574 virtual void visitEnd (S_msrAfterGraceNotesGroupContents& elt);
576 virtual void visitStart (
S_msrNote& elt);
586 virtual void visitStart (
S_msrStem& elt);
589 virtual void visitStart (
S_msrBeam& elt);
598 virtual void visitStart (
S_msrTie& elt);
599 virtual void visitEnd (
S_msrTie& elt);
601 virtual void visitStart (
S_msrSlur& elt);
611 virtual void visitStart (
S_msrCoda& elt);
615 virtual void visitStart (
S_msrDamp& elt);
633 virtual void visitStart (S_msrRepeatCommonPart& elt);
634 virtual void visitEnd (S_msrRepeatCommonPart& elt);
635 virtual void visitStart (S_msrRepeatEnding& elt);
636 virtual void visitEnd (S_msrRepeatEnding& elt);
640 virtual void visitStart (S_msrMeasuresRepeatPattern& elt);
641 virtual void visitEnd (S_msrMeasuresRepeatPattern& elt);
642 virtual void visitStart (S_msrMeasuresRepeatReplicas& elt);
643 virtual void visitEnd (S_msrMeasuresRepeatReplicas& elt);
647 virtual void visitStart (S_msrRestMeasuresContents& elt);
648 virtual void visitEnd (S_msrRestMeasuresContents& elt);
658 string nameAsLilypondString (
663 string lpsrVarValAssocKindAsLilypondString (
664 lpsrVarValAssoc::lpsrVarValAssocKind
665 lilyPondVarValAssocKind);
667 string lpsrVarValsListAssocKindAsLilypondString (
668 lpsrVarValsListAssoc::lpsrVarValsListAssocKind
669 lilyPondVarValsListAssocKind);
671 void generateLpsrVarValsListAssocValues (
674 string lpsrVarValAssocAsLilypondString (
679 string lengthUnitAsLilypondString (
680 msrLengthUnitKind lengthUnitKind);
686 void generateInputLineNumberAndOrPositionInMeasureAsAComment (
690 enum markupColumnKind {
691 markupColumnKindLeftAligned,
692 markupColumnKindLeftACentered };
694 string generateAColumnForMarkup (
696 markupColumnKind columnKind);
697 string generateMultilineMarkup (
699 markupColumnKind columnKind);
703 string absoluteOctaveAsLilypondString (
708 string alterationKindAsLilypondString (
709 msrAlterationKind alterationKind);
715 string durationAsLilypondString (
727 msrPrintObjectKind fCurrentNotePrinObjectKind;
729 string lilypondOctaveInRelativeEntryMode (
732 string lilypondOctaveInFixedEntryMode (
735 string notePitchAsLilypondString (
S_msrNote note);
737 string pitchedRestAsLilypondString (
S_msrNote note);
742 void generateNoteHeadColor (
S_msrNote note);
743 void generateNoteLigatures (
S_msrNote note);
747 void generateCodeBeforeNote (
S_msrNote note);
748 void generateCodeForNote (
S_msrNote note);
749 void generateCodeAfterNote (
S_msrNote note);
753 msrDirectionKind fCurrentArpeggioDirectionKind;
755 void generateNoteArticulation (
758 void generateChordArticulation (
763 string technicalAsLilypondString (
766 string technicalWithIntegerAsLilypondString (
769 string technicalWithFloatAsLilypondString (
772 string technicalWithStringAsLilypondString (
777 void generateOrnament (
778 S_msrOrnament ornament);
782 bool fOnGoingTrillSpanner;
786 msrPlacementKind fCurrentSpannerPlacementKind;
788 void generateCodeForSpannerBeforeNote (
789 S_msrSpanner spanner);
791 void generateCodeForSpannerAfterNote (
792 S_msrSpanner spanner);
796 bool fOnGoingGraceNotesGroup;
798 void generateGraceNotesGroup (
803 string singleTremoloDurationAsLilypondString (
808 string dynamicsAsLilypondString (
812 string stringTuningAsLilypondString (
818 string harpPedalTuningAsLilypondString (
819 msrAlterationKind alterationKind);
823 void transposeDiatonicError (
825 int transposeDiatonic,
826 int transposeChromatic);
830 bool fPowerChordHaveAlreadyBeenGenerated;
833 string harmonyAsLilypondString (
836 string harmonyDegreeAlterationKindAsLilypondString (
837 msrAlterationKind harmonyDegreeAlterationKind);
841 string frameAsLilypondString (
846 string figureAsLilypondString (
848 string figuredBassAsLilypondString (
852 unsigned int fCurrentFiguredBassFiguresCounter;
888 bool fVoiceIsCurrentlySenzaMisura;
889 bool fOnGoingVoiceCadenza;
901 bool fOnGoingHarmonyVoice;
902 bool fOnGoingFiguredBassVoice;
912 void setCurrentOctaveEntryReferenceFromTheLilypondOah ();
916 list<S_lpsrRepeatDescr>
921 int fRemainingRestMeasuresNumber;
922 bool fOnGoingRestMeasures;
932 int fCurrentVoiceMeasuresCounter;
939 msrStem::msrStemKind fCurrentStemKind;
946 void generateCodeForOctaveShift (
951 list<int> fPendingChordMemberNotesStringNumbers;
954 void generateCodeBeforeChordContents (
S_msrChord chord);
955 void generateCodeForChordContents (
S_msrChord chord);
956 void generateCodeAfterChordContents (
S_msrChord chord);
958 void generateChordInGraceNotesGroup (
S_msrChord chord);
964 stack<S_msrTuplet> fTupletsStack;
969 bool fGenerateCodeForOngoingNonEmptyStanza;
974 S_msrSyllable fCurrentMsrSyllableClone;
979 bool fOnGoingScoreBlock;
985 fCurrentParallelMusicBLock;
990 int fNumberOfPartGroupBlocks;
991 int fPartGroupBlocksCounter;
996 int fNumberOfPartGroupBlockElements;
997 int fPartGroupBlockElementsCounter;
1002 int fNumberOfStaffBlocksElements;
1003 int fStaffBlocksCounter;
1008 void displayCurrentOnGoingValues ();
the smart pointer implementation
Definition: smartpointer.h:58
Definition: utilities.h:213
Definition: lpsr2LilypondTranslator.h:352
Definition: lpsrScores.h:58
Definition: lpsrVarValAssocs.h:32
the base class for smart pointers implementation
Definition: smartpointer.h:29
Rational number representation.
Definition: rational.h:25
Definition: lpsr2LilypondTranslator.h:27