]> git.donarmstrong.com Git - lilypond.git/blob - input/bugs/ligatures.ly
Add tetex-devel as package suggestion for
[lilypond.git] / input / bugs / ligatures.ly
1 \version "1.7.17"
2 \header {
3     title       = "Puer natus est nobis"
4     subtitle    = "Antiphona ad introitum VII"
5     texidoc = "This file pretty nicely demonstrates what still does
6 not work among ligatures: (i) horozontal spacing is totally broken as
7 soon as raggedright mode is on (say \"raggedright = ##f\" in the paper
8 block to see); (ii) the clef does not show on each line; (iii) lily
9 crashes when removing Stem_engraver, but still using Slur_engraver
10 (this is useful needed for the \addlyrics feature when no slurs are to
11 be typeset); (iv) episem causes a syntax error when applied inside of
12 ligatures (but they are useful only inside...); (v) support for
13 augmentum dots is missing; (vi) accidentals must be placed before the
14 ligature (not demonstrated in this example)"
15
16 }
17
18 \include "paper26.ly"
19 \include "gregorian-init.ly"
20
21 cantus = \notes \transpose c c {
22   \[ g4
23     (
24     \pes
25     )
26     d'
27   \]
28   d'
29   \[ d'
30     (
31     \pes e' \flexa
32     )
33     d'
34   \]
35   c'
36   \[ c'
37     (
38     c'
39     )
40     c'
41   \]
42   \[ d'
43     (
44     \flexa c' e' \flexa
45     )
46     d' d'
47   \]
48   \divisioMaior
49   \[ g
50     (
51     \pes
52     )
53     d'
54   \]
55   \[ d'
56     (
57     \pes e' \flexa
58     )
59     d'
60   \]
61   \[ c'
62     (
63     \flexa
64     )
65     b
66   \]
67   a
68   \[ c'
69     (
70     c' \pes
71     )
72     d'
73   \]
74   c' c'
75   \[ c'
76     (
77     \pes d' \flexa c'
78     )
79     c'
80   \]
81   \[ g
82     (
83     \pes a \flexa
84     )
85     g
86   \]
87   \divisioMaxima
88   g a c' \[ b
89     (
90     \pes d' e' \pes
91     )
92     f'
93   \]
94   \[ d'
95     (
96     \flexa
97     )
98     c'
99   \]
100   c'
101   \divisioMinima
102   c' c'
103   \[ d'
104     (
105     \flexa c' e' \flexa
106     )
107     d'
108   \]
109   \[ c'
110     (
111     \flexa
112     )
113     b
114   \]
115   \[ c'
116     (
117     c'
118     )
119     c'
120   \]
121   \[ c'
122     (
123     \flexa a c' \flexa b \virga c'
124     \inclinatum \deminutum b \inclinatum \deminutum
125     )
126     a
127   \]
128   \[ b
129     (
130     \flexa
131     )
132     a
133   \]
134   \divisioMaxima
135   \[ c'
136     (
137     \flexa
138     )
139     b
140   \]
141   c'
142   \[ c'
143     (
144     \pes
145     e'
146     \flexa
147     )
148     d'
149   \]
150   c'
151   \[ c'
152     (
153     c'
154     )
155     c'
156   \]
157   c'
158   \[ c'
159     (
160     c'
161     )
162     c'
163   \]
164   \[ c'
165     (
166     \pes
167     d' \flexa b \virga c'
168     \inclinatum \deminutum b \inclinatum \deminutum
169     )
170     a
171   \]
172   \[ b
173     (
174     \flexa
175     )
176     a
177   \]
178   \divisioMaior
179   \[ c'
180     (
181     \pes
182     )
183     e'
184   \]
185   d'
186   \[ g
187     (
188     \pes \semivocalis % epiphonus
189     )
190     c'
191   \]
192   c'
193   \[ c'
194     (
195     c' c' \flexa
196     )
197     a
198   \]
199   a
200   \[ %{ FIXME: \episemInitium%} a
201     (
202     \pes c' \flexa %{ FIXME: \episemFinis%} a \quilisma b
203     )
204     c'
205   \]
206   \[ g
207     (
208     \pes a \flexa
209     )
210     g
211   \]
212   g
213   \finalis
214 }
215
216 verba = \context Lyrics = verba \lyrics {
217   Pu- er na- tus est no- bis,
218   et fi- li- us da- tus est no- bis:
219   cu- ius im- pe- ri- um
220   su- per hu- me- rum e- ius:
221   et vo- ca- bi- tur no- men e- ius,
222   mag- ni con- si- li- i An- ge- lus.
223   Can- ta- te Do- mi- no can- ti- cum no- vum:
224   qui- a mi- ra- bi- li- a fe- cit.
225 }
226
227 \score {
228   \context StaffGroup <
229     \context VaticanaStaff <
230       \context VaticanaVoice <
231         \addlyrics
232         \cantus
233         \verba
234       >
235     >
236 %    \context Staff <
237 %      \cantus
238 %    >
239   >
240   \paper {
241     stafflinethickness = \staffspace / 5.0
242     linewidth = 137.0
243 %   width = 137.0
244     indent = 0.0
245     raggedright = ##f
246     packed = ##t
247
248 %    width = 15.0 \cm %%% no effect?
249 %    gourlay_maxmeasures = 30.
250 %    gourlay_maxmeasures = 1. %%% no effect?
251 %    arithmetic_basicspace = 3.8
252 %    arithmetic_basicspace = 0.0 %%% no effect?
253 %    arithmetic_multiplier = 8.\pt
254 %    arithmetic_multiplier = 0.\pt %%% no effect?
255 %
256     \translator {
257       \VoiceContext
258       \name VaticanaVoice
259       \alias Voice
260
261       % Can not `\remove "Slur_engraver"', since \addlyrics needs
262       % slurs working.  Hence, set slurs transparent instead.
263       Slur \override #'transparent = ##t
264
265       % N.B.: Warnings of the type "Degenerate bow: infinite steepness
266       % reqd" arise from the fact that all noteheads of a ligature are
267       % in the same paper column.  Therefore, the (transparent) slurs
268       % often start and end in the same column, producing the above
269       % warning.  TODO: supress this warning; we need slurs only for
270       % \addlyrics, not for printing.
271
272       % `\remove "Stem_engraver"' currently produces a crash (see
273       % below).  Hence, set stems transparent instead.
274       Stem \set #'transparent = ##t
275
276 %{
277
278 FIXME:
279
280 When removing Stem_engraver from VoiceContext (but still using
281 Slur_engraver), lily will crash while trying to typeset slurs, since
282 `()' is not a valid stem:
283
284 In unknown file:
285    ?: 0* [Slur::after_line_breaking #<Grob Slur >]
286    ?: 1* [#<procedure #f (slur dir)> #<Grob Slur > -1]
287 In /home/reuter/project/lilypond-1.7/share/lilypond/scm/slur.scm:
288   43: 2* [not ...
289   43: 3*  [attached-to-stem #<Grob Slur > -1]
290   10: 4   (let* ((note-columns #) (col #) (stem #)) (and (eq? col #) stem ...))
291     ...
292   16: 5   [ly:get-grob-property () heads]
293
294 /home/reuter/project/lilypond-1.7/share/lilypond/scm/slur.scm:16:6: In procedure ly_get_grob_property in expression (ly:get-grob-property stem (quote heads)):
295 /home/reuter/project/lilypond-1.7/share/lilypond/scm/slur.scm:16:6: Wrong type argument in position 1 (expecting grob): ()
296
297 %}
298
299       \remove Ligature_bracket_engraver
300       \consists Vaticana_ligature_engraver
301       NoteHead \set #'style = #'vaticana_punctum
302       Script \set #'padding = #0.0
303
304       % prepare TextSpanner for \episem{Initium|Finis} use
305       TextSpanner \set #'type = #'line
306       TextSpanner \set #'edge-height = #'(0 . 0)
307       TextSpanner \set #'padding = #0.5
308       TextSpanner \set #'edge-text = #'("" . "")
309     }
310     \translator {
311       \VoiceContext
312       \name GregorianTransciptionVoice
313       \alias Voice
314       Stem \set #'transparent = ##t
315       % \remove "Stem_engraver"
316       % Slur \override #'transparent = ##t
317       \remove "Slur_engraver"
318     }
319     \translator {
320       \StaffContext
321       \name GregorianTranscriptionStaff
322       \alias Staff
323       \accepts GregorianTranscriptionVoice
324       BarLine \override #'transparent = ##t
325     }
326     \translator {
327       \StaffContext
328       \name VaticanaStaff
329       \alias Staff
330       \accepts VaticanaVoice
331       \remove Bar_engraver
332       \consists Custos_engraver
333       clefGlyph = #"clefs-vaticana_do"
334       centralCPosition = #0
335       clefPosition = #1
336       clefOctaviation = #0
337       StaffSymbol \set #'line-count = #4
338       StaffSymbol \set #'width = #60.0 % FIXME: unit should be \linewidth
339       TimeSignature \set #'transparent = ##t
340       KeySignature \set #'style = #'vaticana
341       Accidental \set #'style = #'vaticana
342       Custos \set #'style = #'vaticana
343       Custos \set #'neutral-position = #3
344       Custos \set #'neutral-direction = #-1
345       Custos \set #'adjust-if-on-staffline = ##t
346     }
347     \translator {
348       \HaraKiriStaffContext
349       \accepts VaticanaVoice
350       \accepts GregorianTranscriptionVoice
351     }
352     \translator {
353       \ScoreContext
354       \accepts VaticanaStaff
355       \accepts GregorianTranscriptionStaff
356       \remove Bar_number_engraver
357 %      SpacingSpanner \set #'spacing-increment = #0.5
358       timing = ##f
359
360       % Don't do this exception for transcription -- it will produce
361       % additional space
362       barAlways = ##t
363 %      skipBars = ##t
364     }
365   }
366 }