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
23namespace 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