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 "pitchinterface.h"
71 std::string GetClassName()
const override {
return "neume"; }
80 int GetLigatureCount(
int position);
83 bool GenerateChildMelodic();
85 NeumeGroup GetNeumeGroup()
const;
87 std::vector<int> GetPitchDifferences()
const;
98 FunctorCode AcceptEnd(
Functor &functor)
override;
99 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
113 static const std::map<std::string, NeumeGroup>
s_neumes;
115 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:113
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:61
This class is an pseudo interface for elements maintaining a flat list of children LayerElement for p...
Definition: object.h:893
This class is an interface for elements with pitch, such as notes and neumes.
Definition: pitchinterface.h:28