8 #ifndef __VRV_TRANSPOSEFUNCTOR_H__
9 #define __VRV_TRANSPOSEFUNCTOR_H__
40 void SetTransposition(
const std::string &transposition) { m_transposition = transposition; }
46 FunctorCode VisitHarm(Harm *harm)
override;
47 FunctorCode VisitKeySig(KeySig *keySig)
override;
48 FunctorCode VisitMdiv(Mdiv *mdiv)
override;
49 FunctorCode VisitNote(Note *note)
override;
50 FunctorCode VisitRest(Rest *rest)
override;
51 FunctorCode VisitScore(Score *score)
override;
52 FunctorCode VisitStaffDef(StaffDef *staffDef)
override;
60 const KeySig *GetKeySigForStaffDef(
const StaffDef *staffDef)
const;
61 int GetStaffNForKeySig(
const KeySig *keySig)
const;
70 Transposer *m_transposer;
72 std::map<int, const KeySig *> m_keySigForStaffN;
76 std::string m_transposition;
104 void SetSelectedMdivID(
const std::string &selectedID) { m_selectedMdivID = selectedID; }
110 FunctorCode VisitMdiv(Mdiv *mdiv)
override;
111 FunctorCode VisitPageMilestone(PageMilestoneEnd *pageMilestoneEnd)
override;
112 FunctorCode VisitScore(Score *score)
override;
113 FunctorCode VisitSystem(System *system)
override;
124 std::string m_selectedMdivID;
126 std::list<std::string> m_currentMdivIDs;
155 FunctorCode VisitMdiv(
Mdiv *mdiv)
override;
156 FunctorCode VisitScore(
Score *score)
override;
157 FunctorCode VisitScoreDef(
ScoreDef *scoreDef)
override;
158 FunctorCode VisitScoreDefEnd(
ScoreDef *scoreDef)
override;
159 FunctorCode VisitStaff(
Staff *staff)
override;
160 FunctorCode VisitStaffDef(
StaffDef *staffDef)
override;
167 void UpdateTranspositionFromStaffN(
const AttNInteger *staffN);
173 std::map<int, int> m_transposeIntervalForStaffN;
This abstract class is the base class for all mutable functors that need access to the document.
Definition: functor.h:151
This class is a hold the data and corresponds to the model of a MVC design pattern.
Definition: doc.h:41
This class represent a <mdiv> in page-based MEI.
Definition: mdiv.h:29
This class represents a MEI scoreDef.
Definition: scoredef.h:135
This class represent a <score> in MEI.
Definition: score.h:30
This class represents a MEI staffDef.
Definition: staffdef.h:37
This class represents a staff in a laid-out score (Doc).
Definition: staff.h:107
This class transposes the content.
Definition: transposefunctor.h:22
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: transposefunctor.h:35
This class transposes the selected mdiv.
Definition: transposefunctor.h:86
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: transposefunctor.h:99
This class transposes the content to sounding pitch (by evaluating @trans.semi).
Definition: transposefunctor.h:136
bool ImplementsEndInterface() const override
Return true if the functor implements the end interface.
Definition: transposefunctor.h:149
Definition: transposition.h:85