The Guido Engine Architecture
The Guido Engine may be viewed as black box that takes a textual description of the music at Guido Music Notation format to produce various graphic representations as output. To do so, the engine proceeds globally in 4 steps (see also the figure below):
- 1) it builds a memory representation of the textual description, which we'll refer later as the Abstract Representation [AR]
- 2) it applies a set of transformations to the Abstract Representation, which are actually AR to AR transformations and that represents a logical layout transformation: part of the layout (such as beaming for example) may be computed from the AR as well as expressed in AR.
- 3) it transforms to the Abstract Representation into a Graphic Representation [GR]: the abstract objects are instanciated in the graphic space with concrete positions and dimensions.
- 4) the Graphic Representation is drawn using the Virtual Graphic Device layer.