Abstract classes

Abstract classes describe the music representation at logical level and are used to handle musical tag. Each tag has a corresponding abstract class, which name starts with AR and which is implemented in a file that carries the name of the class. For example, the \meter tag is described by the ARMeter class, which is implemented in the ARMeter.cpp and ARMeter.h files.

The main purpose of the AR classes is to store and possibly pre-process the tag parameters.

Main musical concepts

Almost all the AR classes represent a Guido tag. However, the main musical concepts (like notes or voices) are not based on tags but are also represented using AR classes:


AR to AR operations

AR to AR operations enrich the abstract representation with elements that can be automatically computed from the current descrption (e.g. like bars). They consists also in a set of logical layout operations (e.g. compute the beam direction when not set). Theses operations are implemented in ARMusicalVoice by a set of methods named doAuto...: