X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmensural-ligature.hh;h=350ea66958e27097afe0b6445e696ef5d926b7de;hb=ea4fdf1afa3e6bb9a7c586f5a533be93ff3312d3;hp=e38f6651e632f8ca710f47f3eddc6fd853761dd2;hpb=05fabaaf86fd44f9bd903f282bb98d343a991e40;p=lilypond.git diff --git a/lily/include/mensural-ligature.hh b/lily/include/mensural-ligature.hh index e38f6651e6..350ea66958 100644 --- a/lily/include/mensural-ligature.hh +++ b/lily/include/mensural-ligature.hh @@ -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 + Copyright (C) 2002--2011 Juergen Reuter , + Pal Benko + + 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 . */ #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 */