GUIDOLib
1.7.7
Guido Engine Internal Documentation
|
The GuidoLib project aims at the development of a generic, portable library and API for the graphical rendering of musical scores. The library is based on the Guido Music Notation format as the underlying data format. It is an open source project covered by the Mozilla Public License.
The Guido Music Notation format (GMN) is a general purpose formal language for representing score level music in a platform independent plain text and human readable way. It is based on a conceptually simple but powerful formalism: its design concentrates on general musical concepts (as opposed to graphical features). A key feature of the Guido design is adequacy which means that simple musical concepts should be represented in a simple way and only complex notions should require complex representations. The GMN language is fully documented on the guidodoc web site.
The Guido Engine operates on a memory representation of the GMN format: the Guido Abstract Representation (GAR). This representation is transformed step by step to produce graphical score pages. Two kinds of processing are first applied to the GAR:
This GSNF is finally converted into a Guido Graphic Representation (GGR) that contains the necessary layout information and is directly used to draw the music score. This final step includes notably spacing and page breaking algorithms.
The source code organisation reflects the engine internal operations:
src/engine/abstract
folder.src/engine/graphic
folder.