]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/mensural-ligature.hh
Run grand replace for 2015.
[lilypond.git] / lily / include / mensural-ligature.hh
index e38f6651e632f8ca710f47f3eddc6fd853761dd2..97b8e2e21682a5eecd7863e28537a987d91609dd 100644 (file)
@@ -1,40 +1,51 @@
 /*
-  mensural-ligature.hh -- part of GNU LilyPond
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the GNU LilyPond music typesetter
-  
-  (c) 2002--2004 Juergen Reuter <reuter@ipd.uka.de>
+  Copyright (C) 2002--2015 Juergen Reuter <reuter@ipd.uka.de>,
+  Pal Benko <benkop@freestart.hu>
+
+  LilyPond is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  LilyPond is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #ifndef MENSURAL_LIGATURE_HH
 #define MENSURAL_LIGATURE_HH
 
 #include "lily-proto.hh"
-#include "lily-guile.hh"
+#include "grob-interface.hh"
 
 /*
  * These are all possible mensural ligature primitives.
  */
-#define MLP_BB    0x01 // flexa with left downward cauda (for Brevis-Brevis)
-#define MLP_sc    0x02 // last head of asc. sine proprietate cum perfectione
-                      // (i.e. brevis head with downward right cauda)
-#define MLP_ss    0x04 // last head of asc. sine proprietate sine perfectione
-                      // (i.e. pure brevis head)
-#define MLP_cs    0x08 // last head of asc. cum proprietate sine perfectione
-                      // (i.e. brevis head with downward left cauda)
-#define MLP_SS    0x10 // flexa with left upward cauda (for Semibr.-Semibr.)
-#define MLP_LB    0x20 // core flexa (for Longa-Brevis)
-
-#define MLP_NONE  0x00 // no output
-#define MLP_SINGLE_HEAD        (MLP_sc | MLP_ss | MLP_cs)
-#define MLP_FLEXA      (MLP_BB | MLP_SS | MLP_LB)
-#define MLP_ANY                (MLP_FLEXA | MLP_SINGLE_HEAD)
+#define MLP_NONE 0x00 // no output
+#define MLP_UP 0x01 // upward left stem
+#define MLP_DOWN 0x02 // downward left stem
+#define MLP_BREVIS 0x04 // mensural brevis head
+#define MLP_LONGA 0x08 // mensural brevis head with right cauda
+#define MLP_MAXIMA 0x10 // mensural maxima head without stem
+#define MLP_FLEXA_BEGIN 0x20 // start of obliqua
+#define MLP_FLEXA_END 0x40 // end of obliqua
+
+#define MLP_STEM (MLP_UP | MLP_DOWN)
+#define MLP_SINGLE_HEAD (MLP_BREVIS | MLP_LONGA | MLP_MAXIMA)
+#define MLP_FLEXA (MLP_FLEXA_BEGIN | MLP_FLEXA_END)
+#define MLP_ANY (MLP_FLEXA | MLP_SINGLE_HEAD)
 
 struct Mensural_ligature
 {
-  DECLARE_SCHEME_CALLBACK (brew_ligature_primitive, (SCM ));
-  DECLARE_SCHEME_CALLBACK (print, (SCM ));
-  static bool has_interface (Grob*);
+  DECLARE_SCHEME_CALLBACK (brew_ligature_primitive, (SCM));
+  DECLARE_SCHEME_CALLBACK (print, (SCM));
+  DECLARE_GROB_INTERFACE ();
 };
 
 #endif /* MENSURAL_LIGATURE_HH */