2 mensural-ligature.hh -- part of GNU LilyPond
4 source file of the GNU LilyPond music typesetter
6 (c) 2002 Juergen Reuter <reuter@ipd.uka.de>
9 #ifndef MENSURAL_LIGATURE_HH
10 #define MENSURAL_LIGATURE_HH
12 #include "lily-proto.hh"
13 #include "lily-guile.hh"
16 * These are all possible mensural ligature primitives.
18 #define MLP_BB 0x01 // flexa with left downward cauda (for Brevis-Brevis)
19 #define MLP_sc 0x02 // last head of asc. sine proprietate cum perfectione
20 // (i.e. brevis head with downward right cauda)
21 #define MLP_ss 0x04 // last head of asc. sine proprietate sine perfectione
22 // (i.e. pure brevis head)
23 #define MLP_cs 0x08 // last head of asc. cum proprietate sine perfectione
24 // (i.e. brevis head with downward left cauda)
25 #define MLP_SS 0x10 // flexa with left upward cauda (for Semibr.-Semibr.)
26 #define MLP_LB 0x20 // core flexa (for Longa-Brevis)
28 #define MLP_NONE 0x00 // no output
29 #define MLP_SINGLE_HEAD (MLP_sc | MLP_ss | MLP_cs)
30 #define MLP_FLEXA (MLP_BB | MLP_SS | MLP_LB)
31 #define MLP_ANY (MLP_FLEXA | MLP_SINGLE_HEAD)
33 struct Mensural_ligature
35 DECLARE_SCHEME_CALLBACK (brew_ligature_primitive, (SCM ));
36 DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM ));
37 static bool has_interface (Grob*);
40 #endif /* MENSURAL_LIGATURE_HH */