8 #ifndef __VRV_TEMPO_H__
9 #define __VRV_TEMPO_H__
11 #include "atts_midi.h"
12 #include "controlelement.h"
13 #include "textdirinterface.h"
14 #include "timeinterface.h"
44 std::string GetClassName()
const override {
return "tempo"; }
51 TextDirInterface *GetTextDirInterface()
override {
return vrv_cast<TextDirInterface *>(
this); }
52 const TextDirInterface *GetTextDirInterface()
const override {
return vrv_cast<const TextDirInterface *>(
this); }
53 TimePointInterface *GetTimePointInterface()
override {
return vrv_cast<TimePointInterface *>(
this); }
54 const TimePointInterface *GetTimePointInterface()
const override
56 return vrv_cast<const TimePointInterface *>(
this);
58 TimeSpanningInterface *GetTimeSpanningInterface()
override {
return vrv_cast<TimeSpanningInterface *>(
this); }
59 const TimeSpanningInterface *GetTimeSpanningInterface()
const override
61 return vrv_cast<const TimeSpanningInterface *>(
this);
75 int GetDrawingXRelativeToStaff(
int staffN)
const;
76 void SetDrawingXRelative(
int staffN,
int drawingX) { m_drawingXRels[staffN] = drawingX; }
77 void ResetDrawingXRelative() { m_drawingXRels.clear(); }
95 FunctorCode AcceptEnd(
Functor &functor)
override;
96 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
113 std::map<int, int> m_drawingXRels;
This abstract class is the base class for all const functors.
Definition: functor.h:126
This class represents elements appearing within a measure.
Definition: controlelement.h:33
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
This class represents a basic object.
Definition: object.h:61
This class is an interface for <tempo> elements at the measure level.
Definition: tempo.h:33
void Reset() override
Virtual reset method.
bool IsSupportedChild(ClassId classId) override
Add an element (text, rend.
static double CalcTempo(const AttMmTempo *attMmTempo)
Calculate tempo from attMmTempo (@mm, @mm.unit, @mm.dots)
bool IsExtenderElement() const override
See FloatingObject::IsExtenderElement.
Definition: tempo.h:83
Object * Clone() const override
Method call for copying child classes.
Definition: tempo.h:42
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
This class is an interface for elements implementing a text directive, such as <dir>,...
Definition: textdirinterface.h:26
This class is an interface for spanning elements, such as slur, hairpin, etc.
Definition: timeinterface.h:145