2 gregorian-ligature.cc -- implement Gregorian_ligature
4 source file of the GNU LilyPond music typesetter
6 (c) 2003--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 #include "gregorian-ligature.hh"
14 void check_prefix (String name, int mask, int prefix_set, String *str)
16 if (prefix_set & mask)
18 if (!str->is_empty ())
25 Gregorian_ligature::prefixes_to_str (Grob *primitive)
29 scm_to_int (primitive->get_property ("prefix-set"));
30 check_prefix ("virga", VIRGA, prefix_set, &str);
31 check_prefix ("stropha", STROPHA, prefix_set, &str);
32 check_prefix ("inclinatum", INCLINATUM, prefix_set, &str);
33 check_prefix ("auctum", AUCTUM, prefix_set, &str);
34 check_prefix ("descendens", DESCENDENS, prefix_set, &str);
35 check_prefix ("ascendens", ASCENDENS, prefix_set, &str);
36 check_prefix ("oriscus", ORISCUS, prefix_set, &str);
37 check_prefix ("quilisma", QUILISMA, prefix_set, &str);
38 check_prefix ("deminutum", DEMINUTUM, prefix_set, &str);
39 check_prefix ("cavum", CAVUM, prefix_set, &str);
40 check_prefix ("linea", LINEA, prefix_set, &str);
45 CHECK ME -- does prefix-set come from here ?
47 In a way, yes. Actually, prefix-set is a property that is written
48 by code of GregorianLigatureEngraver that is virtually invoked by a
49 subclass like VaticanaLigatureEngraver. The property is lateron
50 read by the associated item class, such as VaticanaLigature.--jr
52 ADD_INTERFACE (Gregorian_ligature, "gregorian-ligature-interface",
53 "A gregorian ligature",
54 "virga stropha inclinatum auctum descendens ascendens "
55 "oriscus quilisma deminutum cavum linea pes-or-flexa "
56 "context-info prefix-set");