]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/gregorian-ligature.hh
* scm/output-lib.scm (shift-right-at-line-begin): new function:
[lilypond.git] / lily / include / gregorian-ligature.hh
index 801b34dbf0716e78e20fa30e7c8501055d4eb133..2540f1bf71be4b414a7ae7bfb3d538770cf7a90c 100644 (file)
@@ -9,14 +9,20 @@
 #ifndef GREGORIAN_LIGATURE_HH
 #define GREGORIAN_LIGATURE_HH
 
+class Gregorian_ligature {
+public:
+  static bool has_interface (Grob *);
+  static String prefixes_to_str (Grob *);
+};
+
 /*
  * Head prefixes: these bit-mask constants are used to represent
  * attributes immediately derived from user input (e.g. by the user
  * setting a gregorian ligature grob property or using the "\~"
  * keyword).  If the according bit of the head prefix value is set,
  * the attribute applies for this head.  The binary opereator "\~" is
- * marked only upon the second head (i.e. the note that comes after
- * the operator).
+ * treated like a prefix for the head that follows the operator, but
+ * does not affect the head that precedes the operator, if any.
  */
 #define VIRGA        0x0001 // attribute "\virga"
 #define STROPHA      0x0002 // attribute "\stropha"
 
 /*
  * Ligature context info: these attributes are derived from the head
- * prefixes by considering the current and the following head.
+ * prefixes by considering the current and the two neighbouring heads.
+ *
+ * These definitions may be extended by more specific Gregorian
+ * ligatures such as vaticana-ligature.hh.
  */
-#define PES_LOWER    0x0001 // this is a head before "\~" in an ascending melody
-#define PES_UPPER    0x0002 // this is a head after "\~" in an ascending melody
-#define FLEXA_LEFT   0x0004 // this is a head before "\~" in a descending melody
-#define FLEXA_RIGHT  0x0008 // this is a head after "\~" in a descending melody
-#define AFTER_VIRGA  0x0010 // previous head was a virga
+#define PES_LOWER       0x0001 // this is a head before "\~" in an
+                              // ascending melody
+#define PES_UPPER       0x0002 // this is a head after "\~" in an
+                              // ascending melody
+#define FLEXA_LEFT      0x0004 // this is a head before "\~" in a
+                              // descending melody
+#define FLEXA_RIGHT     0x0008 // this is a head after "\~" in a
+                              // descending melody
+#define AFTER_DEMINUTUM 0x0020 // previous head was a deminutum
 
 #endif /* GREGORIAN_LIGATURE_HH */