8 #ifndef __VRV_NEUME_H__
9 #define __VRV_NEUME_H__
16 #include "atts_mensural.h"
17 #include "atts_shared.h"
20 #include "durationinterface.h"
21 #include "layerelement.h"
22 #include "offsetinterface.h"
71 std::string GetClassName()
const override {
return "neume"; }
78 OffsetInterface *GetOffsetInterface()
override {
return vrv_cast<OffsetInterface *>(
this); }
79 const OffsetInterface *GetOffsetInterface()
const override {
return vrv_cast<const OffsetInterface *>(
this); }
88 int GetLigatureCount(
int position);
91 bool GenerateChildMelodic();
93 NeumeGroup GetNeumeGroup()
const;
95 std::vector<int> GetPitchDifferences()
const;
106 FunctorCode AcceptEnd(
Functor &functor)
override;
107 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
121 static const std::map<std::string, NeumeGroup>
s_neumes;
123 static std::string NeumeGroupToString(NeumeGroup group);
This abstract class is the base class for all const functors.
Definition: functor.h:126
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
This class is a base class for the Layer (<layer>) content.
Definition: layerelement.h:51
This class models the MEI <neume> element.
Definition: neume.h:60
static const std::map< std::string, NeumeGroup > s_neumes
String keys come from the contours of neume groupings as defined in MEI4.
Definition: neume.h:121
void Reset() override
Virtual reset method.
bool IsSupportedChild(ClassId classId) override
Add an element (a note or a rest) to a syllable.
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
Object * Clone() const override
Method call for copying child classes.
Definition: neume.h:70
This class represents a basic object.
Definition: object.h:64
This class is an pseudo interface for elements maintaining a flat list of children LayerElement for p...
Definition: object.h:908
This class is an interface for elements having a single visual offset, such as arpeg,...
Definition: offsetinterface.h:28
This class is an interface for elements with pitch, such as notes and neumes.
Definition: pitchinterface.h:28