LibMusicXML  3.18
msr2BsrTranslator.h
1 /*
2  MusicXML Library
3  Copyright (C) Grame 2006-2013
4 
5  This Source Code Form is subject to the terms of the Mozilla Public
6  License, v. 2.0. If a copy of the MPL was not distributed with this
7  file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 
9  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
10  research@grame.fr
11 */
12 
13 #ifndef ___msr2BsrTranslator___
14 #define ___msr2BsrTranslator___
15 
16 #include <map>
17 #include <vector>
18 
19 #include "msr.h"
20 #include "bsr.h"
21 
22 
23 namespace MusicXML2
24 {
25 
26 //________________________________________________________________________
28 
29  // score
30 
31  public visitor<S_msrScore>,
32 
33  // parts & part groups
34 
35  public visitor<S_msrPartGroup>,
36  public visitor<S_msrPart>,
37 
38  // staves & voices
39 
40  public visitor<S_msrStaffTuning>,
41  public visitor<S_msrStaff>,
42  public visitor<S_msrVoice>,
43  public visitor<S_msrVoiceStaffChange>,
44 
45  // barlines
46 
47  public visitor<S_msrBarline>,
48 
49  // measures
50 
51  public visitor<S_msrMeasure>,
52 
53  // clef, key, time
54 
55  public visitor<S_msrClef>,
56  public visitor<S_msrKey>,
57  public visitor<S_msrTime>,
58 
59  // tempos
60 
61  public visitor<S_msrTempo>,
62 
63  // notes
64 
65  public visitor<S_msrNote>,
66 
67  // dynamics
68 
69  public visitor<S_msrDynamics>,
70 
71  // pages & lines
72 
73  public visitor<S_msrLineBreak>,
74  public visitor<S_msrPageBreak>
75 {
76  public:
77 
79  indentedOstream& ios,
80  S_msrScore mScore);
81 
82  virtual ~msr2BsrTranslator ();
83 
84  void buildBsrScoreFromMsrScore ();
85 
86  S_bsrScore getBsrScore () const
87  { return fBsrScore; }
88 
89  protected:
90 
91  // pages & lines
92 
93  virtual void visitStart (S_msrPageBreak& elt);
94  virtual void visitEnd (S_msrPageBreak& elt);
95 
96  virtual void visitStart (S_msrLineBreak& elt);
97  virtual void visitEnd (S_msrLineBreak& elt);
98 
99  // score
100 
101  virtual void visitStart (S_msrScore& elt);
102  virtual void visitEnd (S_msrScore& elt);
103 
104  // parts & part groups
105 
106  virtual void visitStart (S_msrPartGroup& elt);
107  virtual void visitEnd (S_msrPartGroup& elt);
108 
109  virtual void visitStart (S_msrPart& elt);
110  virtual void visitEnd (S_msrPart& elt);
111 
112  // staves & voices
113 
114  virtual void visitStart (S_msrStaffTuning& elt);
115  virtual void visitStart (S_msrStaffDetails& elt);
116  virtual void visitEnd (S_msrStaffDetails& elt);
117 
118  virtual void visitStart (S_msrStaff& elt);
119  virtual void visitEnd (S_msrStaff& elt);
120 
121  virtual void visitStart (S_msrVoice& elt);
122  virtual void visitEnd (S_msrVoice& elt);
123 
124  virtual void visitStart (S_msrVoiceStaffChange& elt);
125 
126  // barlines
127 
128  virtual void visitStart (S_msrBarline& elt);
129 
130  // measures
131 
132  virtual void visitStart (S_msrMeasure& elt);
133  virtual void visitEnd (S_msrMeasure& elt);
134 
135  // clef, key, time
136 
137  virtual void visitStart (S_msrClef& elt);
138  virtual void visitEnd (S_msrClef& elt);
139 
140  virtual void visitStart (S_msrKey& elt);
141  virtual void visitEnd (S_msrKey& elt);
142 
143  virtual void visitStart (S_msrTime& elt);
144  virtual void visitEnd (S_msrTime& elt);
145 
146  // tempos
147 
148  virtual void visitStart (S_msrTempo& elt);
149  virtual void visitEnd (S_msrTempo& elt);
150 
151  // notes
152 
153  virtual void visitStart (S_msrNote& elt);
154  virtual void visitEnd (S_msrNote& elt);
155 
156  // dynamics
157 
158  virtual void visitStart (S_msrDynamics& elt);
159  virtual void visitEnd (S_msrDynamics& elt);
160 
161  private:
162 
163  indentedOstream& fLogOutputStream;
164 
165  // messages
166  // ------------------------------------------------------
167 
168  void notSupportedMessage (
169  int inputLineNumber,
170  string message);
171 
172  // the MSR score we're visiting
173  // ------------------------------------------------------
174  S_msrScore fVisitedMsrScore;
175 
176 
177  // the BSR score we're building
178  // ------------------------------------------------------
179  S_bsrScore fBsrScore;
180 
181 
182  // transcription notes
183  // ------------------------------------------------------
184 
185  S_bsrTranscriptionNotes fCurrentTranscriptionsNotes;
186 
187 
188  // parts & part groups
189  // ------------------------------------------------------
190  S_msrPartGroup fCurrentPartGroup;
191  S_msrPart fCurrentPart;
192 
193 
194  // staff details
195  // ------------------------------------------------------
196 
197  S_msrStaffTuning fCurrentStaffTuning;
198 
199 
200  // staves
201  // ------------------------------------------------------
202  S_msrStaff fCurrentStaff;
203 
204 
205  // voices
206  // ------------------------------------------------------
207  S_msrVoice fCurrentVoice;
208  // map<S_msrNote, S_msrNote> fVoiceNotesMap; // JMI
209 
210 
211  // pages & lines
212  // ------------------------------------------------------
213  S_bsrPage fCurrentPage;
214  int fCurrentPrintPageNumber;
215 
216  S_bsrLine fCurrentLine;
217  int fCurrentPrintLineNumber;
218 
219 
220  // headings
221  // ------------------------------------------------------
222 
223  S_bsrPageHeading fFirstPageHeading;
224  S_bsrMusicHeading fFirstMusicHeading;
225 
226 
227  // foot notes
228  // ------------------------------------------------------
229 
230 // JMI S_bsrFootNotes fFirstFootNotes;
231 
232 
233  // measures
234  // ------------------------------------------------------
235 
236  S_bsrMeasure fCurrentMeasure;
237 
238 
239  // clef, key, time
240  // ------------------------------------------------------
241 
242  S_bsrKey fFirstKey;
243  S_bsrTime fFirstTime;
244 
245  // notes
246  // ------------------------------------------------------
247 
248  bsrNote::bsrNoteOctaveKind
249  fCurrentNoteOctaveKind;
250 
251  bsrNote::bsrNoteValueSizeKind
252  fCurrentNoteValueSizeKind;
253 
254  void createBsrForNote (S_msrNote note);
255 
256  // relative octaves
257  // ------------------------------------------------------
258  S_msrNote fRelativeOctaveReference;
259  // contains absolute octave
260 
261  bsrNote::bsrNoteOctaveIsNeeded
262  brailleOctaveMarkInNeeded (S_msrNote note);
263 
264 
265 /*
266  // it's header
267  // ------------------------------------------------------
268  S_bsrHeader fBsrScoreHeader;
269 
270 
271  // score
272  // ------------------------------------------------------
273  S_msrScore fCurrentMsrScoreClone;
274 
275 
276  // identification
277  // ------------------------------------------------------
278  bool fOnGoingIdentification;
279  S_msrIdentification fCurrentIdentification;
280 
281 
282  // header
283  // ------------------------------------------------------
284  bool fWorkNumberKnown;
285  bool fWorkTitleKnown;
286  bool fMovementNumberKnown;
287  bool fMovementTitleKnown;
288 
289 
290  // paper
291  // ------------------------------------------------------
292  void setPaperIndentsIfNeeded (
293  S_msrScaling scaling);
294 
295  // credits
296  // ------------------------------------------------------
297  S_msrCredit fCurrentCredit;
298 
299 
300  // part groups
301  // ------------------------------------------------------
302  // S_msrPartGroup fCurrentPartGroupClone; JMI
303 
304  // the current partGroup is the top of the stack
305  stack<S_msrPartGroup> fPartGroupsStack;
306 
307 
308  // harmonies
309  // ------------------------------------------------------
310  bool fOnGoingHarmonyVoice;
311 
312  S_msrHarmony fCurrentHarmonyClone;
313 
314  list<S_msrHarmony> fPendingHarmoniesList;
315 
316 
317  // frames
318  // ------------------------------------------------------
319  // bool fOnGoingFramesVoice; JMI
320 
321  // list<S_msrFrame> fPendingFramesList; // JMI
322 
323 
324  // figured bass
325  // ------------------------------------------------------
326  bool fOnGoingFiguredBassVoice;
327  S_msrFiguredBass fCurrentFiguredBass;
328 
329 
330  // repeats
331  // ------------------------------------------------------
332 
333 // JMI S_msrRepeatCommonPart fCurrentRepeatCommonPartClone;
334  S_msrRepeatEnding fCurrentRepeatEndingClone;
335 
336 
337  // measures repeats
338  // ------------------------------------------------------
339 
340  S_msrMeasuresRepeatPattern
341  fCurrentMeasuresRepeatPatternClone;
342  S_msrMeasuresRepeatReplicas
343  fCurrentMeasuresRepeatReplicasClone;
344 
345  // multiple rests
346  // ------------------------------------------------------
347 
348  S_msrMultipleRest fCurrentMultipleRestClone; // JMI
349  S_msrMultipleRestContents fCurrentMultipleRestContentsClone;
350 
351 
352  // segments
353  // ------------------------------------------------------
354  // segments can be imbedded in others,
355  // the current segment clone is the one at the top of the stack
356  stack<S_msrSegment> fCurrentSegmentClonesStack;
357 
358 
359  // measures
360  // ------------------------------------------------------
361  // we need to count the measures for option fSeparatorLineEveryNMeasures,
362  // since measure numbers are actually strings
363  int fMeasuresCounter;
364 
365  S_msrMeasure fCurrentMeasureClone;
366 
367  void finalizeCurrentMeasureClone (
368  int inputLineNumber,
369  S_msrMeasure originalMeasure);
370 
371  // bar checks
372  // ------------------------------------------------------
373  S_msrBarCheck fLastBarCheck;
374 
375 
376  // notes
377  // ------------------------------------------------------
378  bool fOnGoingNote;
379 
380  // fCurrentNonGraceNoteClone is not used for grace notes,
381  // which are visited while the note they're attached to
382  // is being visited too
383  S_msrNote fCurrentNonGraceNoteClone;
384 
385  // to help workaround LilyPond issue 34
386  S_msrNote fFirstNoteCloneInVoice;
387 
388  S_msrGraceNotesGroup fCurrentSkipGraceNotesGroup;
389 
390 
391  // glissandos
392  // ------------------------------------------------------
393 
394 
395  // slides
396  // ------------------------------------------------------
397 
398 
399  // double tremolos
400  // ------------------------------------------------------
401  S_msrDoubleTremolo fCurrentDoubleTremoloClone;
402  bool fOnGoingDoubleTremolo;
403 
404 
405  // stems
406  // ------------------------------------------------------
407  S_msrStem fCurrentStem;
408 
409 
410  // grace notes
411  // ------------------------------------------------------
412  S_msrGraceNotesGroup fCurrentGraceNotesGroupClone;
413  S_msrNote fCurrentGraceNoteClone;
414  bool fOnGoingGraceNotesGroup;
415 
416  // afterGraceNotes optimisation
417  S_msrAfterGraceNotesGroup fPendingAfterGraceNotesGroup;
418  S_msrElement fCurrentAfterGraceNotesGroupElement;
419 
420 
421  // chords
422  // ------------------------------------------------------
423  bool fOnGoingChord;
424  S_msrChord fCurrentChordClone;
425 
426 
427  // tuplets
428  // ------------------------------------------------------
429 // S_msrTuplet fCurrentTupletClone;
430  // bool fOnGoingTuplet;
431  stack<S_msrTuplet> fTupletClonesStack;
432 
433 
434  // stanzas
435  // ------------------------------------------------------
436  S_msrStanza fCurrentStanzaClone;
437  bool fOnGoingStanza;
438 
439 
440  // syllables
441  // ------------------------------------------------------
442  S_msrSyllable fCurrentSyllableClone;
443  bool fOnGoingSyllableExtend;
444 
445 
446  // part groups block
447  // the current partGroup block is the top of the stack
448  stack<S_bsrPartGroupBlock>
449  fPartGroupBlocksStack;
450  */
451 
452 
453  // current ongoing values display
454  // ------------------------------------------------------
455  void displayCurrentOnGoingValues ();
456 };
457 
458 
459 }
460 
461 
462 #endif
463 
464  /*
465 
466  // rights
467 
468  public visitor<S_msrIdentification>,
469 
470  public visitor<S_msrCredit>,
471  public visitor<S_msrCreditWords>,
472 
473  // variable-value associations
474 
475  public visitor<S_msrVarValAssoc>,
476  public visitor<S_msrVarValsListAssoc>,
477 
478  // scaling
479 
480  public visitor<S_msrScaling>,
481 
482  // layout
483 
484  public visitor<S_msrLayout>,
485 
486  // parts & part groups
487 
488  public visitor<S_msrPartGroup>,
489 
490  public visitor<S_msrPart>,
491 
492  // staff details
493 
494  public visitor<S_msrStaffTuning>,
495  public visitor<S_msrStaffDetails>,
496 
497  public visitor<S_msrStaff>,
498 
499  public visitor<S_msrVoice>,
500 
501  public visitor<S_msrVoiceStaffChange>,
502 
503  // lyrics
504 
505  public visitor<S_msrStanza>,
506  public visitor<S_msrSyllable>,
507 
508  // clefs
509 
510  public visitor<S_msrClef>,
511 
512  // keys
513 
514  public visitor<S_msrKey>,
515 
516  // times
517 
518  public visitor<S_msrTime>,
519 
520  // transpose
521 
522  public visitor<S_msrTranspose>,
523 
524  // print
525 
526  public visitor<S_msrPartNameDisplay>,
527  public visitor<S_msrPartAbbreviationDisplay>,
528 
529  // words
530 
531  public visitor<S_msrWords>,
532 
533  // tempo
534 
535  public visitor<S_msrTempo>,
536 
537  public visitor<S_msrSegment>,
538 
539  // rehearsal
540 
541  public visitor<S_msrRehearsal>,
542 
543  // harmonies
544 
545  public visitor<S_msrHarmony>,
546  public visitor<S_msrHarmonyDegree>,
547 
548  // frames
549 
550  public visitor<S_msrFrame>,
551 
552  // figured bass
553 
554  public visitor<S_msrFiguredBass>,
555  public visitor<S_msrFigure>,
556 
557  // measures
558 
559  public visitor<S_msrMeasure>,
560 
561  // articulations
562 
563  public visitor<S_msrArticulation>,
564 
565  public visitor<S_msrFermata>,
566 
567  public visitor<S_msrArpeggiato>,
568  public visitor<S_msrNonArpeggiato>,
569 
570  // technicals
571 
572  public visitor<S_msrTechnical>,
573  public visitor<S_msrTechnicalWithInteger>,
574  public visitor<S_msrTechnicalWithFloat>,
575  public visitor<S_msrTechnicalWithString>,
576 
577  // ornaments
578 
579  public visitor<S_msrOrnament>,
580 
581  // spanners
582 
583  public visitor<S_msrSpanner>,
584 
585  // glissandos
586 
587  public visitor<S_msrGlissando>,
588 
589  // slides
590 
591  public visitor<S_msrSlide>,
592 
593  // tremolos
594 
595  public visitor<S_msrSingleTremolo>,
596 
597  public visitor<S_msrDoubleTremolo>,
598 
599  // dynamics
600 
601  public visitor<S_msrDynamics>,
602 
603  public visitor<S_msrOtherDynamics>,
604 
605  public visitor<S_msrSlash>,
606 
607  public visitor<S_msrSlur>,
608  public visitor<S_msrLigature>,
609  public visitor<S_msrWedge>,
610 
611  // grace notes
612 
613  public visitor<S_msrGraceNotesGroup>,
614 
615  // notes
616 
617  public visitor<S_msrNote>,
618  public visitor<S_msrOctaveShift>,
619 
620  // accordion registration
621 
622  public visitor<S_msrAccordionRegistration>,
623 
624  // harp pedals tuning
625 
626  public visitor<S_msrHarpPedalsTuning>,
627 
628  public visitor<S_msrStem>,
629 
630  // chords
631 
632  public visitor<S_msrChord>,
633 
634  // tuplets
635 
636  public visitor<S_msrTuplet>,
637 
638  // ties, slurs, brackets & beams
639 
640  public visitor<S_msrTie>,
641 
642  public visitor<S_msrBeam>,
643 
644  // ?
645 
646  public visitor<S_msrBarline>,
647 
648  public visitor<S_msrSegno>,
649  public visitor<S_msrCoda>,
650 
651  public visitor<S_msrEyeGlasses>,
652  public visitor<S_msrPedal>,
653  public visitor<S_msrDamp>,
654  public visitor<S_msrDampAll>,
655  public visitor<S_msrScordatura>,
656 
657  public visitor<S_msrBarCheck>,
658  public visitor<S_msrBarNumberCheck>,
659 
660 
661  // repeats
662 
663  public visitor<S_msrRepeat>,
664  public visitor<S_msrRepeatCommonPart>,
665  public visitor<S_msrRepeatEnding>,
666 
667  public visitor<S_msrMeasuresRepeat>,
668  public visitor<S_msrMeasuresRepeatPattern>,
669  public visitor<S_msrMeasuresRepeatReplicas>,
670 
671  public visitor<S_msrMultipleRest>,
672  public visitor<S_msrMultipleRestContents>,
673  */
674 
675 
676 /*
677  virtual void visitStart (S_msrIdentification& elt);
678  virtual void visitEnd (S_msrIdentification& elt);
679 
680  virtual void visitStart (S_msrCredit& elt);
681  virtual void visitEnd (S_msrCredit& elt);
682  virtual void visitStart (S_msrCreditWords& elt);
683  virtual void visitEnd (S_msrCreditWords& elt);
684 
685  virtual void visitStart (S_msrStanza& elt);
686  virtual void visitEnd (S_msrStanza& elt);
687 
688  virtual void visitStart (S_msrSyllable& elt);
689  virtual void visitEnd (S_msrSyllable& elt);
690 */
691 
692 
693 /*
694  virtual void visitStart (S_msrTranspose& elt);
695  virtual void visitEnd (S_msrTranspose& elt);
696 
697  virtual void visitStart (S_msrPartNameDisplay& elt);
698  virtual void visitStart (S_msrPartAbbreviationDisplay& elt);
699 
700  virtual void visitStart (S_msrWords& elt);
701  virtual void visitEnd (S_msrWords& elt);
702 
703  virtual void visitStart (S_msrTempo& elt);
704  virtual void visitEnd (S_msrTempo& elt);
705 
706  virtual void visitStart (S_msrRehearsal& elt);
707  virtual void visitEnd (S_msrRehearsal& elt);
708 
709  virtual void visitStart (S_msrSegment& elt);
710  virtual void visitEnd (S_msrSegment& elt);
711 
712  virtual void visitStart (S_msrHarmony& elt);
713  virtual void visitEnd (S_msrHarmony& elt);
714  virtual void visitStart (S_msrHarmonyDegree& elt);
715 
716  virtual void visitStart (S_msrFrame& elt);
717 
718  virtual void visitStart (S_msrFiguredBass& elt);
719  virtual void visitEnd (S_msrFiguredBass& elt);
720  virtual void visitStart (S_msrFigure& elt);
721 
722  virtual void visitStart (S_msrArticulation& elt);
723  virtual void visitEnd (S_msrArticulation& elt);
724 
725  virtual void visitStart (S_msrFermata& elt);
726 
727  virtual void visitStart (S_msrArpeggiato& elt);
728  virtual void visitStart (S_msrNonArpeggiato& elt);
729 
730  virtual void visitStart (S_msrTechnical& elt);
731  virtual void visitEnd (S_msrTechnical& elt);
732 
733  virtual void visitStart (S_msrTechnicalWithInteger& elt);
734  virtual void visitEnd (S_msrTechnicalWithInteger& elt);
735 
736  virtual void visitStart (S_msrTechnicalWithFloat& elt);
737  virtual void visitEnd (S_msrTechnicalWithFloat& elt);
738 
739  virtual void visitStart (S_msrTechnicalWithString& elt);
740  virtual void visitEnd (S_msrTechnicalWithString& elt);
741 
742  virtual void visitStart (S_msrOrnament& elt);
743  virtual void visitEnd (S_msrOrnament& elt);
744 
745  virtual void visitStart (S_msrSpanner& elt);
746  virtual void visitEnd (S_msrSpanner& elt);
747 
748  virtual void visitStart (S_msrGlissando& elt);
749  virtual void visitEnd (S_msrGlissando& elt);
750 
751  virtual void visitStart (S_msrSlide& elt);
752  virtual void visitEnd (S_msrSlide& elt);
753 
754  virtual void visitStart (S_msrSingleTremolo& elt);
755  virtual void visitEnd (S_msrSingleTremolo& elt);
756 
757  virtual void visitStart (S_msrDoubleTremolo& elt);
758  virtual void visitEnd (S_msrDoubleTremolo& elt);
759 
760  virtual void visitStart (S_msrDynamics& elt);
761  virtual void visitEnd (S_msrDynamics& elt);
762 
763  virtual void visitStart (S_msrOtherDynamics& elt);
764  virtual void visitEnd (S_msrOtherDynamics& elt);
765 
766  virtual void visitStart (S_msrSlash& elt);
767 
768  virtual void visitStart (S_msrWedge& elt);
769  virtual void visitEnd (S_msrWedge& elt);
770 
771  virtual void visitStart (S_msrGraceNotesGroup& elt);
772  virtual void visitEnd (S_msrGraceNotesGroup& elt);
773 
774  virtual void visitStart (S_msrNote& elt);
775  virtual void visitEnd (S_msrNote& elt);
776 
777  virtual void visitStart (S_msrOctaveShift& elt);
778  virtual void visitEnd (S_msrOctaveShift& elt);
779 
780  virtual void visitStart (S_msrAccordionRegistration& elt);
781 
782  virtual void visitStart (S_msrHarpPedalsTuning& elt);
783 
784  virtual void visitStart (S_msrStem& elt);
785  virtual void visitEnd (S_msrStem& elt);
786 
787  virtual void visitStart (S_msrBeam& elt);
788  virtual void visitEnd (S_msrBeam& elt);
789 
790  virtual void visitStart (S_msrChord& elt);
791  virtual void visitEnd (S_msrChord& elt);
792 
793  virtual void visitStart (S_msrTuplet& elt);
794  virtual void visitEnd (S_msrTuplet& elt);
795 
796  virtual void visitStart (S_msrTie& elt);
797  virtual void visitEnd (S_msrTie& elt);
798 
799  virtual void visitStart (S_msrSlur& elt);
800  virtual void visitEnd (S_msrSlur& elt);
801 
802  virtual void visitStart (S_msrLigature& elt);
803  virtual void visitEnd (S_msrLigature& elt);
804 
805  virtual void visitStart (S_msrBarline& elt);
806  virtual void visitEnd (S_msrBarline& elt);
807 
808  virtual void visitStart (S_msrSegno& elt);
809  virtual void visitStart (S_msrCoda& elt);
810 
811  virtual void visitStart (S_msrEyeGlasses& elt);
812  virtual void visitStart (S_msrPedal& elt);
813  virtual void visitStart (S_msrDamp& elt);
814  virtual void visitStart (S_msrDampAll& elt);
815  virtual void visitStart (S_msrScordatura& elt);
816 
817  virtual void visitStart (S_msrBarCheck& elt);
818  virtual void visitEnd (S_msrBarCheck& elt);
819  virtual void visitStart (S_msrBarNumberCheck& elt);
820  virtual void visitEnd (S_msrBarNumberCheck& elt);
821 
822  virtual void visitStart (S_msrLineBreak& elt);
823  virtual void visitEnd (S_msrLineBreak& elt);
824 
825  virtual void visitStart (S_msrRepeat& elt);
826  virtual void visitEnd (S_msrRepeat& elt);
827  virtual void visitStart (S_msrRepeatCommonPart& elt);
828  virtual void visitEnd (S_msrRepeatCommonPart& elt);
829  virtual void visitStart (S_msrRepeatEnding& elt);
830  virtual void visitEnd (S_msrRepeatEnding& elt);
831 
832  virtual void visitStart (S_msrMeasuresRepeat& elt);
833  virtual void visitEnd (S_msrMeasuresRepeat& elt);
834  virtual void visitStart (S_msrMeasuresRepeatPattern& elt);
835  virtual void visitEnd (S_msrMeasuresRepeatPattern& elt);
836  virtual void visitStart (S_msrMeasuresRepeatReplicas& elt);
837  virtual void visitEnd (S_msrMeasuresRepeatReplicas& elt);
838 
839  virtual void visitStart (S_msrMultipleRest& elt);
840  virtual void visitEnd (S_msrMultipleRest& elt);
841  virtual void visitStart (S_msrMultipleRestContents& elt);
842  virtual void visitEnd (S_msrMultipleRestContents& elt);
843 
844  virtual void visitStart (S_msrVarValAssoc& elt);
845  virtual void visitEnd (S_msrVarValAssoc& elt);
846  virtual void visitStart (S_msrVarValsListAssoc& elt);
847  virtual void visitEnd (S_msrVarValsListAssoc& elt);
848 
849  virtual void visitStart (S_msrScaling& elt);
850  virtual void visitEnd (S_msrScaling& elt);
851 
852  virtual void visitStart (S_msrLayout& elt);
853  virtual void visitEnd (S_msrLayout& elt);
854 
855  virtual void visitStart (S_msrMidi& elt);
856  virtual void visitEnd (S_msrMidi& elt);
857  */
Definition: utilities.h:213
Definition: msr2BsrTranslator.h:75
Definition: visitor.h:27