13#ifndef __xml2guidovisitor__
14#define __xml2guidovisitor__
29#include "partlistvisitor.h"
43 std::vector<S_creator> fCreators;
59 public visitor<S_score_partwise>,
60 public visitor<S_movement_title>,
66 std::stack<Sguidoelement> fStack;
67 bool fGenerateComments, fGenerateStem, fGenerateBars, fGeneratePositions;
71 std::string fCurrentPartID;
72 int fCurrentStaffIndex;
75 void add (
Sguidoelement& elt) {
if (fStack.size()) fStack.top()->add(elt); }
76 void push (
Sguidoelement& elt) { add(elt); fStack.push(elt); }
81 cerr<<
"xml2guido: Pop() called while EMPTY! Please REPORT!"<<endl;
86 void flushPartGroup (std::string partID);
95 virtual void visitStart(
S_part& elt);
99 bool previousStaffHasLyrics;
101 int fCurrentAccoladeIndex;
105 int defaultStaffDistance;
106 int defaultGuidoStaffDistance;
110 std::multimap<int, std::pair< int, std::pair< rational, string > > >
staffClefMap;
117 xml2guidovisitor(
bool generateComments,
bool generateStem,
bool generateBar=
true,
int partNum = 0);
124 void generatePositions (
bool state) { fGeneratePositions = state; }
126 static void addPosition ( Sxmlelement elt, Sguidoelement& tag,
float yoffset);
127 static void addPosition ( Sxmlelement elt, Sguidoelement& tag,
float yoffset,
float xoffset);
128 static void addPosY ( Sxmlelement elt, Sguidoelement& tag,
float yoffset,
float ymultiplier);
129 static void addPosX ( Sxmlelement elt, Sguidoelement& tag,
float xoffset);
130 static void addPlacement ( Sxmlelement elt, Sguidoelement& tag);
131 static float getYposition ( Sxmlelement elt,
float yoffset,
bool useDefault);
132 static float getXposition ( Sxmlelement elt,
float xoffset);
134 static void addDirection( Sxmlelement elt, Sguidoelement& tag);
Produces a summary of a MusicXML parts for groupings.
Definition: partlistvisitor.h:72
A score visitor to produce a Guido representation.
Definition: xml2guidovisitor.h:64
std::multimap< int, std::pair< int, std::pair< rational, string > > > staffClefMap
multimap containing <staff-num, measureNum, position, clef type>
Definition: xml2guidovisitor.h:110
std::map< int, std::map< rational, std::vector< int > > > timePositions
Containing default-x positions on a fCurrentVoicePosition (rational) of measure(int)
Definition: xml2guidovisitor.h:113