2 gregorian-ligature.hh -- part of GNU LilyPond
4 source file of the GNU LilyPond music typesetter
6 (c) 2003 Juergen Reuter <reuter@ipd.uka.de>
9 #ifndef GREGORIAN_LIGATURE_HH
10 #define GREGORIAN_LIGATURE_HH
13 * Head prefixes: these bit-mask constants are used to represent
14 * attributes immediately derived from user input (e.g. by the user
15 * setting a gregorian ligature grob property or using the "\~"
16 * keyword). If the according bit of the head prefix value is set,
17 * the attribute applies for this head. The binary opereator "\~" is
18 * treated like a prefix for the head that follows the operator, but
19 * does not affect the head that precedes the operator, if any.
21 #define VIRGA 0x0001 // attribute "\virga"
22 #define STROPHA 0x0002 // attribute "\stropha"
23 #define INCLINATUM 0x0004 // attribute "\inclinatum"
24 #define AUCTUM 0x0008 // attribute "\auctum"
25 #define DESCENDENS 0x0010 // attribute "\descendens"
26 #define ASCENDENS 0x0020 // attribute "\ascendens"
27 #define ORISCUS 0x0040 // attribute "\oriscus"
28 #define QUILISMA 0x0080 // attribute "\quilisma"
29 #define DEMINUTUM 0x0100 // attribute "\deminutum"
30 #define CAVUM 0x0200 // attribute "\cavum"
31 #define LINEA 0x0400 // attribute "\linea"
32 #define PES_OR_FLEXA 0x0800 // operator "\~"
35 * Ligature context info: these attributes are derived from the head
36 * prefixes by considering the current and the two neighbouring heads.
38 * These definitions may be extended by more specific Gregorian
39 * ligatures such as vaticana-ligature.hh.
41 #define PES_LOWER 0x0001 // this is a head before "\~" in an
43 #define PES_UPPER 0x0002 // this is a head after "\~" in an
45 #define FLEXA_LEFT 0x0004 // this is a head before "\~" in a
47 #define FLEXA_RIGHT 0x0008 // this is a head after "\~" in a
49 #define AFTER_VIRGA 0x0010 // previous head was a virga
50 #define AFTER_DEMINUTUM 0x0020 // previous head was a deminutum
52 #endif /* GREGORIAN_LIGATURE_HH */