]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/ca/usage/running.itely
Doc-ca: Correction of mistakes in Priority II Catalan translation
[lilypond.git] / Documentation / ca / usage / running.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ca -*-
2
3 @ignore
4     Translation of GIT committish: 93d725094ee629b2d5200ab5a75b609579a62973
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.17.6"
12
13
14 @node Executar el Lilypond
15 @chapter Executar el LilyPond
16 @translationof Running LilyPond
17
18 Aquest capítol detalla els aspectes tècnics de l'execució del
19 LilyPond.
20
21 @menu
22 * Utilització normal::
23 * Utilització des de la línia d'ordres::
24 * Missatges d'error::
25 * Errors comuns::
26 @end menu
27
28
29 @node Utilització normal
30 @section Utilització normal
31 @translationof Normal usage
32
33 Gairebé tots els usuaris executen el LilyPond per mitjà d'una
34 interfície gràfica; consulteu @rlearning{Primers passos} si encara
35 no l'heu llegit.
36
37 @node Utilització des de la línia d'ordres
38 @section Utilització des de la línia d'ordres
39 @translationof Command-line usage
40
41 Aquesta secció conté informació addicional sobre l'ús del
42 LilyPond a la línia d'ordres.  Aquesta forma pot ser preferible
43 per passar-li al programa algunes opcions addicionals.  A més a
44 més, existeixen alguns programes complementaris @q{de suport} (com
45 ara @code{midi2ly}) que sols estan disponibles a la línia d'ordres.
46
47 En parlar de la @q{línia d'ordres}, ens referim a la consola del
48 sistema operatiu.  Els usuaris del Windows possiblement estiguin
49 més familiaritzats amb els termes @q{finestra del MS-DOS} o
50 @q{línia de comandes}; Els usuaris del MacOS@tie{}X potser que
51 estiguin més familiaritzats amb els termes @q{terminal} o
52 @q{consola}.  Aquests podrien requerir algunes configuracions
53 addicionals i haurien de consultar també l'apartat @rweb{MacOS X}.
54
55 La descripció de l'ús d'aquesta part dels sistemes operatius
56 excedeix l'àmbit d'aquest manual; us preguem que consulteu altres
57 documents sobre aquest tema si no us resulta familiar la línia
58 d'ordres.
59
60 @menu
61 * Invocació del LilyPond::
62 * Opcions bàsiques de la línia d'ordres per al LilyPond::
63 * Opcions avançades  de la línia d'ordres per al LilyPond::
64 * Variables d'entorn::
65 * El LilyPond a una gàbia de chroot::
66 @end menu
67
68 @node Invocació del LilyPond
69 @unnumberedsubsec Invocació @command{lilypond}
70 @translationof Invoking lilypond
71
72 L'executable @command{lilypond} es pot cridar des d'una línia
73 d'ordres de la manera següent:
74
75 @example
76 lilypond [@var{opció}]@dots{} @var{fitxer}@dots{}
77 @end example
78
79 Quan s'invoca amb un nom de fitxer sense extensió, es prova en
80 primer lloc amb la extensió @file{.ly}.  Per llegir l'entrada des
81 de stdin, utilitzeu un guió (@code{-}) en substitució de @var{fitxer}.
82
83 Quan es processa @file{archivo.ly}, la sortida resultant són els
84 fitxers @file{fitxer.ps} i @file{fitxer.pdf}.  Es poden
85 especificar diversos fitxers; cadascú d'ells es processarà de
86 forma independent@footnote{L'estat del GUILE no es restableix
87 després de processar un fitxer @code{.ly}, per la qual cosa heu de
88 tenir cura de no modificar cap valor predeterminat des de dins del
89 Scheme.}.
90
91 Si @file{fitxer.ly} conté més d'un bloc @code{\score}, la resta de
92 les partitures s'obtindran com a sortida en fitxers numerats,
93 començant per @file{fitxer-1.pdf}.  A més, el valor de
94 @code{output-suffix} (sufix de sortida) s'inserirà entre el nom
95 base i el número.  Un fitxer de sortida que contingui
96
97 @example
98 #(define output-suffix "violí")
99 \score @{ @dots{} @}
100 #(define output-suffix "violoncel")
101 \score @{ @dots{} @}
102 @end example
103
104 @noindent
105 produirà com a sortida @var{base}@file{-violí.pdf} i
106 @var{base}@file{-violoncel-1.pdf}.
107
108
109 @unnumberedsubsubsec Instruccions estàndard de la línia d'ordres
110
111 Si la vostra terminal (o finestra d'ordres) contempla les
112 redireccions normals, potser us siguin d'utilitat les següents
113 instruccions per redirigir la sortida de la consola d'un fitxer:
114
115 @itemize
116
117 @item
118 @code{lilypond fitxer.ly 1>sortidaestandard.log} per redirigir la
119 sortida normal
120
121 @item
122 @code{lilypond fitxer.ly 2>sortidaderror.log} per redirigir els
123 missatges d'error
124
125 @item
126 @code{lilypond fitxer.ly &>tot.log} per redirigir tota la sortida
127
128 @end itemize
129
130 Consulteu la documentació del vostre intèrpret d'ordres per veure
131 si contempla aquestes opcions, o si la sintaxi és diferent.
132 Observeu que són instruccions de l'intèrpret d'ordres i que no
133 tenen res a veure amb el LilyPond.
134
135 @node Opcions bàsiques de la línia d'ordres per al LilyPond
136 @unnumberedsubsec Opcions bàsiques de la línia d'ordres per al LilyPond
137 @translationof Basic command line options for LilyPond
138
139 @cindex invocació de @command{lilypond}
140 @cindex opcions de la línia d'ordres per a @command{lilypond}
141 @cindex línia d'ordres, opcions de
142 @cindex modificadors
143
144 Estan contemplades les opcions següents:
145
146 @table @code
147
148 @item -d, --define-default=@var{variable}=@var{valor}
149 Vegeu @ref{Opcions avançades de línia d'ordres per al LilyPond}.
150
151 @cindex Scheme, avaluació d'expressions
152 @cindex expressions del Scheme, avaluació
153
154 @item -e, --evaluate=@var{expressió}
155 Avalua l'@var{expressió} del Scheme abans d'analitzar els fitxers
156 @file{.ly}.  Es poden passar diverses opcions @option{-e}, que
157 s'avaluaran en seqüència.
158
159 L'expressió s'avaluarà al mòdul @code{guile-user}, de manera que
160 si voleu usar definicions dins d'@var{expressió}, heu d'utilitzar
161
162 @example
163 lilypond -e '(define-public a 42)'
164 @end example
165
166 @noindent
167 a la línia d'ordres, i incloure
168
169 @example
170 #(use-modules (guile-user))
171 @end example
172
173 @noindent
174 al principi del fitxer @file{.ly}.
175
176 @warning{Els usuaris de Windows han d'utilitzar cometes dobles en
177 comptes de cometes simples.}
178
179 @cindex sortida, format
180 @cindex format, sortida
181
182 @item -f, --format=@var{format}
183 quins formats s'han d'escriure.  Les opcions per a @code{format} són
184 @code{ps}, @code{pdf}, i @code{png}.
185
186 Exemple: @code{lilypond -fpng @var{fitxer}.ly}
187
188 @item -h, --help
189 Mostra un resum de les formes de utilització.
190
191 @item -H, --header=@var{CAMP}
192 Bolca un camp de capçalera al fitxer @file{NOMBASE.@var{CAMP}}
193
194 @item -i, --init=@var{archivo}
195 Establir el fitxer d'inici a @var{fitxer} (predeterminat:
196 @file{init.ly}).
197
198 @cindex fitxers, cerca de
199 @cindex cerca, ruta de
200
201 @item -I, --include=@var{directori}
202 Afegir el @var{directori} a la ruta de cerca de fitxers
203 d'entrada.
204
205 Es poden escriure diverses opcions -I.  La cerca s'inicia al
206 primer directori definit, i si el fitxer que s'ha d'incloure no es
207 troba, la cerca continua als directoris següents.
208
209 @cindex chroot, executar dins d'una gàbia
210
211 @item -j, --jail=@var{usuari},@var{grup},@var{gàbia},@var{directori}
212 Executar @command{lilypond} a una gàbia de chroot.
213
214 L'opció @option{--jail} (gàbia) proporciona una alternativa més
215 flexible a l'opció @option{-dsafe} quan el procés de tipografia
216 del LilyPond està disponible a un servidor web o quan el LilyPond
217 executa instruccions enviades per fonts externes
218 (vegeu @ref{Opcions avançades de línia d'ordres per al LilyPond}).
219
220 L'opció @option{--jail} funciona canviant l'arrel de
221 @command{lilypond} a @var{gàbia} just o abans de començar el
222 procés de compilació en sí.  Si es fa això es canvien l'usuari i
223 el grup als que s'han donat a l'opció, i el directori actual es
224 canvia a @var{directori}.  Aquesta instal·lació garanteix que no
225 és possible, al menys en teoria, escapar a la gàbia.  Observeu que
226 perquè funcioni @option{--jail}, s'ha d'executar
227 @command{lilypond} com root, cosa que normalment es pot fer d'una
228 forma segura utilitzant @command{sudo}.
229
230 La instal·lació d'una gàbia pot ser un assumpte relativament
231 complex, atès que hem d'assegurar-nos que el LilyPond pot trobar
232 @emph{dins} de la pròpia gàbia tot el que necessita per poder
233 compilar la font.  Una típica configuració de gàbia de chroot
234 consta dels següents elements:
235
236 @table @asis
237
238 @item Preparació d'un sistema de fitxers separat
239 S'ha de crear un sistema de fitxers separat per al LilyPond, de
240 forma que es pugui muntar amb opcions segures com @code{noexec},
241 @code{nodev} i @code{nosuid}.  D'aquesta forma, és impossible
242 executar programes o escriure directament a un dispositiu des del
243 LilyPond.  Si no voleu crear una partició separada, tan sols té
244 que crear un fitxer d'una mida raonable i usar-lo per muntar un
245 dispositiu loop.  El sistema de fitxers separat garanteix també
246 que el LilyPond mai no pugui escriure en un espai major del què se
247 li permeti.
248
249 @item Preparar un usuari separat
250 Es pot usar un usuari i grup separats (diguem-ne
251 @code{lily}/@code{lily}) amb pocs privilegis per executar el
252 LilyPond dins d'una gàbia.  Hauria d'existir un sols directori amb
253 permisos d'escriptura per a aquest usuari, i s'ha de passar el valor
254 @var{directori}.
255
256 @item Preparació de la gàbia
257 El LilyPond necessita llegir alguns fitxers mentre s'executa,
258 Tots aquests fitxers s'han de copiar  dins de la gàbia, sota la
259 mateixa ruta en la qual apareixen al sistema de fitxers real de
260 root.  Tot el contingut de la instal·lació del LilyPond (per exemple
261 @file{/usr/share/lilypond}) s'ha de copiar.
262
263 Si sorgeixen problemes, la forma més senzilla de rastrejar-los és
264 executar el LilyPond usant @command{strace}, cosa que li permetrà
265 determinar quins fitxers falten.
266
267 @item Executar el LilyPond
268 Dins d'una gàbia muntada amb @code{noexec} és impossible executar
269 cap programa extern.  Per tant, el LilyPond s'ha d'executar amb un
270 backend que no necessiti un programa extern.  Com ja hem
271 mencionat, s'ha d'executar amb privilegis del superusuari (que per
272 suposat perdrà immediatament), possiblement usant @command{sudo}.
273 També de CPU que el LilyPond pot usar (per exemple usant
274 @command{ulimit@tie{}-t}), i, si el vostre sistema operatiu ho
275 contempla, la mida de la memòria que es pot reservar.  Vegeu també
276 @ref{El LilyPond a una gàbia de chroot}.
277
278 @end table
279
280 @cindex loglevel
281 @cindex registre, nivell de
282 @cindex sortida neta, fixar el nivell
283
284 @item -l, --loglevel=@var{NIVELL}
285 Fixa el grau en el qual la sortida de consola és neta al nivell
286 @var{NIVELL}. Els valors possibles són:
287
288 @table @code
289
290 @item NONE
291 Cap sortida en absolut, ni tan sols missatges d'error.
292
293 @item ERROR
294 Sols missatges d'error, cap advertiment o indicacions de progrés.
295
296 @item WARN
297 Advertiments i missatges d'error, no de progrés.
298
299 @item BASIC_PROGRESS
300 Missatges de progrés bàsics (èxit), advertiment i errors.
301
302 @item PROGRESS
303 Tots els missatges de progrés, advertiments i errors.
304
305 @item INFO (predeterminat)
306 Missatges de progrés, advertiments, errors i informació d'execució
307 addicional.
308
309 @item DEBUG
310 Tots els missatges possibles, fins i tot la informació detallada de
311 depuració.
312 @end table
313
314 @cindex carpeta, dirigir la sortida cap a
315 @cindex sortida, establir el nom del fitxer de
316
317 @item -o, --output=@var{FITXER} o @var{CARPETA}
318 Estableix el nom del fitxer de sortida predeterminat a
319 @var{FITXER} o, si hi ha una carpeta amb aquest nom, dirigeix la
320 sortida cap a @var{CARPETA}, agafant el nom de fitxer del
321 document d'entrada.  S'afegeix el sufix corresponent (per exemple,
322 @code{.pdf} per a PDF) als dos casos.
323
324 @cindex PS (Postscript), sortida
325 @cindex Postscript (PS), sortida
326 @cindex sortida, PS (Postscript)
327
328 @item --ps
329 Generar PostScript.
330
331 @cindex PNG (Portable Network Graphics), sortida
332 @cindex sortida, PNG (Portable Network Graphics)
333
334 @item --png
335 Genera imatges de les pàgines en format PNG.  Això implica
336 @option{--ps}.  La resolució en PPP de la imatge es pot establir
337 amb
338 @example
339 -dresolution=110
340 @end example
341
342 @cindex PDF (format de document portàtil), sortida de
343 @cindex sortida, PDF (format de document portàtil)
344
345 @item --pdf
346 Genera PDF.  Implica @option{--ps}.
347
348 @item -v, --version
349 Mostra la informació de la versió.
350
351 @item -V, --verbose
352 Sigues detallat: mostra les rutes completes de tots els fitxers
353 que se llegeixen, i dóna informació cronomètrica.
354
355 @item -w, --warranty
356 Mostra la garantia del GNU LilyPond (no ve amb
357 @strong{CAP GARANTIA}!).
358
359 @end table
360
361
362 @node Opcions avançades de línia d'ordres per al LilyPond
363 @unnumberedsubsec Opcions avançades de línia d'ordres per al LilyPond
364 @translationof Advanced command line options for LilyPond
365
366 @table @code
367
368 @item -d@var{[nom-de-opció]}=@var{[valor]}, --define-default=@var{[nom-de-opció]}=@var{[valor]}
369 Estableix la funció del Scheme interna equivalent a @var{valor}.
370
371 @example
372 -dbackend=svg
373 @end example
374
375 Si no es proporciona cap @var{valor}, s'usa el valor predeterminat
376 Per desactivar una opció es pot anteposar @code{no-} a la
377 @var{variable}, per exemple:
378
379 @cindex apuntar i clicar, línia d'ordres
380
381 @example
382 -dno-point-and-click
383 @end example
384
385 @noindent
386 és el mateix que
387 @example
388 -dpoint-and-click=#f
389 @end example
390 @end table
391
392 @noindent Estan contemplades les següents opcions junt als seus
393 respectius valors  predeterminats:
394
395 @multitable @columnfractions .33 .16 .51
396 @item @strong{Símbol}
397 @tab @strong{Valor}
398 @tab @strong{Explicació/Opcions}
399
400 @item @code{anti-alias-factor} (factor d'antiàlies)
401 @tab @code{1}
402 @tab Renderitza a una major resolució (utilitzant el factor
403 donat) i redueix l'escala del resultat per així evitar
404 @q{escales} a les imatges @code{PNG}.
405
406 @item @code{aux-files} (fitxers auxiliars)
407 @tab @code{#t}
408 @tab Crea fitxeres  @code{.tex}, @code{.texi}, @code{.count} al
409 @q{back-end} @code{EPS}.
410
411 @item @code{backend}
412 @tab @code{ps}
413 @tab Selecciona un @q{rerefons}.  Els fitxers (l'opció
414 predeterminada) inclouen els tipus tipogràfics de lletra @code{TTF},
415 @code{Type1} i @code{OTF}.  No es fa cap subconjunt d'aquests tipus
416 de lletra.  L'ús de conjunts de  caràcters @q{orientals} pot
417 produir fitxers molts grans.
418
419 @item
420 @tab @code{eps}
421 @tab PostScript encapsulat.  Bolca cada pàgina o sistema com un
422 fitxer @file{EPS} diferent, sense tipus tipogràfics de lletra, i
423 com un fitxer @file{EPS} enquadernat amb totes les pàgines o
424 sistemes que inclouen els tipus de lletra.  Utilitzat com a opció
425 predeterminada per part de @command{lilypond-book}.
426
427 @item
428 @tab @code{null}
429 @tab No produeixes cap partitura impresa a la sortida; té el
430 mateix efecte que @code{-dno-print-pages}.
431
432 @item
433 @tab @code{svg}
434 @tab Gràfics vectorials escalables.  Crea un únic fitxer
435 @code{SVG}, sense tipus tipogràfics de lletra incrustats, per a
436 cada pàgina de sortida.  Es recomana instal·lar el tipus de lletra
437 Century Schoolbook, que està inclòs a la instal·lació del
438 LilyPond, per a un renderitzat òptim.  Sota l'UNIX, bastarà amb
439 que copieu aquests fitxers de tipus de lletra del directori del
440 Lilypond (normalment @file{/usr/share/lilypond/VERSION/fonts/otf/})
441 al directori @file{~/.fonts/}.  La sortida @code{SVG} hauria de
442 ser compatible amb qualsevol editor o client de SVG.  També hi ha
443 una opció @code{svg-woff} (vegeu més avall) per usar els fitxers
444 de tipus de lletra woff al @q{rerefons} SVG.
445
446 @item
447 @tab @code{scm}
448 @tab Bolcat de les instruccions de dibuix internes basades en
449 Scheme, en brut.
450
451 @item @code{check-internal-types}
452 n@tab @code{#f}
453 @tab Comprova el tipus de cada assignació de propietats.
454
455 @item @code{clip-systems} (retalla els sistemes de pentagrames)
456 @tab @code{#f}
457 @tab Genera framents d'imatge retallats d'una partitura.
458
459 @item @code{datadir} (directori de dades)
460 @tab
461 @tab Prefix dels fitxers de dades (sols lectura).
462
463 @item @code{debug-gc}
464 @tab @code{#f}
465 @tab Bolca estadístiques de depuració de memòria.
466
467 @item @code{debug-gc-assert-parsed-dead}
468 @tab @code{#f}
469 @tab Per a la depuració de memòria: assegura't que totes les
470 referències a objectes analitzats estiguin mortes.  És una opció
471 interna, i s'activa automàticament per a @code{`-ddebug-gc'}.
472
473 @item @code{debug-lexer}
474 @tab @code{#f}
475 @tab Depuració de l'analitzador lèxic flex.
476
477 @item @code{debug-page-breaking-scoring}
478 @tab @code{#f}
479 @tab Bolca les partitures per a moltes configuracions de salts de
480 pàgina diferents.
481
482 @item @code{debug-parser}
483 @tab @code{#f}
484 f@tab Depuració de l'analitzador sintàctic bison.
485
486 @item @code{debug-property-callbacks}
487 @tab @code{#f}
488 @tab Depuració de les cadenes cícliues de funcions de callback.
489
490 @item @code{debug-skylines}
491 @tab @code{#f}
492 @tab Depuració de les línies de horitzó.
493
494 @item @code{delete-intermediate-files}
495 @tab @code{#t}
496 @tab Elimina els fitxers intermedis @code{.ps} inútils que es
497 creen durant la compilació.
498
499 @item @code{dump-cpu-profile}
500 @tab @code{#f}
501 @tab Bolcar informació de comptabilització del temps (dependent
502 del sistema).
503
504 @item @code{dump-profile}
505 @tab @code{#f}
506 @tab Bolca la informació de memòria i de temps de cada fitxer.
507
508 @item @code{dump-signatures}
509 @tab @code{#f}
510 @tab Bolca les signatures de sortida de cada sistema.  Usat per a
511 les proves de regressió.
512
513 @item @code{eps-box-padding}
514 @tab @code{#f}
515 @tab Omple la vora esquerra de la capsa contenidora de l'EPS de
516 sortida en la quantitat donada (en mm).
517
518 @item @code{gs-load-fonts}
519 @tab @code{#f}
520 @tab Carrega els tipus tipogràfics de lletra a través del Ghostscript.
521
522 @item @code{gs-load-lily-fonts}
523 @tab @code{#f}
524 @tab Carrega sols els tipus de lletra del LilyPond per mitjà del
525 Ghostscript.
526
527 @item @code{gui}
528 @tab @code{#f}
529 @tab S'executa silenciosament i es redirigeix tota la sortida a un
530 fitxer de registre.
531 @end multitable
532
533 @noindent
534 @strong{Nota per als usuaris del Windows:} De manera predeterminada,
535 @code{lilypond.exe} dirigeix tota la sortida de la informació
536 d'avenç cap a la finestra de consola, @code{lilypond-windows.exe}
537 no ho fa i retorna un indicador del sistema, sense cap indicació
538 d'avenç, immediatament en la línia d'ordres.  L'opció
539 @option{-dgui} es pot usar en aquest cas per redirigir la sortida
540 a un fitxer de registre.
541
542 @multitable @columnfractions .33 .16 .51
543 @item @code{help}
544 @tab @code{#f}
545 @tab Mostra aquesta ajuda
546
547 @item @code{include-book-title-preview}
548 @tab @code{#t}
549 @tab Inclou els títols de llibre a les imatges de vista prèvia.
550
551 @item @code{include-eps-fonts}
552 @tab @code{#t}
553 @tab Incloure els tipus tipogràfics de fonts als fitxers EPS de
554 cadascú dels sistemes.
555
556 @item @code{include-settings}
557 @tab @code{#f}
558 @tab Inclou el fitxer dels ajustos globals, s'inclou abans que la
559 partitura es processi.
560
561 @item @code{job-count}
562 @tab @code{#f}
563 @tab Processa en paral·lel, usant el nombre de tasques donat.
564
565 @item @code{log-file}
566 @tab @code{#f [fitxer]}
567 @tab Si es dóna a una cadena @code{fitxer} como a segon argument,
568 redirigeix la sortida al fitxer de registre @code{fitxer.log}.
569
570 @item @code{max-markup-depth}
571 @tab @code{1024}
572 @tab Profunditat màxima de l'arbre de l'etiquetatge.  Si un
573 etiquetatge té més nivells, suposa que no acabarà per sí mateix,
574 imprimint un advertiment i retornant en el seu lloc un element
575 d'etiquetatge nul.
576
577 @item @code{midi-extension}
578 @tab @code{"midi"}
579 @tab Fixa l'extensió de fitxer predeterminat per al fitxer de
580 sortida MIDI a la cadena donada.
581
582 @item @code{music-strings-to-paths}
583 @tab @code{#f}
584 @tab Converteix les cadenes de text a rutes quan els glifs
585 pertanyen a un tipus de lletra de tipografia musical.
586
587 @item @code{paper-size}
588 @tab @code{\"a4\"}
589 @tab Estableix la mida predeterminada del paper.  Observeu que la
590 cadena ha d'anar tancada entre cometes dobles.
591
592 @item @code{pixmap-format}
593 @tab @code{png16m}
594 @tab Fixa el format de sortida del Ghostsript per a les imatges de píxels.
595
596 @item @code{point-and-click}
597 @tab @code{#f}
598 @tab Afegeix enllaços d'@q{apuntar i clicar} a la sortida @code{PDF}. Vegeu
599 @ref{Apuntar i clicar}.
600
601 @item @code{preview}
602 @tab @code{#f}
603 @tab Crea imatges de vista prèvia a més de la sortida normal.
604 @end multitable
605
606 @noindent
607 Aquesta opció està contemplada per tots els @q{rerefons}: @code{pdf},
608 @code{png}, @code{ps}, @code{eps} i @code{svg}, però no per
609 @code{scm}.  Genera un fitxer de sortida, en la forma
610 @code{elmeuFitxer.preview.extensió}, que conté els títols i el
611 primer sistema de la música.  Si s'estan utilitzant blocs
612 @code{\book} o @code{\bookpart}, apareixen a la sortida els títols de
613 @code{\book}, @code{\bookpart} o @code{\score}, inclòs el primer
614 sistema de cada bloc @code{\score} si la variable de @code{\paper}
615 @code{print-all-headers} està fixada al valor @code{#t}.
616
617 Per suprimir la sortida actual, utilitzeu les opcions
618 @option{-dprint-pages} o @option{-dno-print-pages} segons les
619 vostres necessitats.
620
621 @multitable @columnfractions .33 .16 .51
622 @item @code{print-pages}
623 @tab @code{#t}
624 @tab Genera pàgines completes (és l'opció predeterminada).  És útil
625 @option{-dno-print-pages} en combinació amb @option{-dpreview}.
626
627 @item @code{profile-property-accesses}
628 @tab @code{#f}
629 @tab Conserva les estadístiques de les crides de funció
630 @code{get_property()}.
631
632 @item @code{protected-scheme-parsing}
633 @tab @code{#t}
634 @tab Continua quan es capten a l'analitzador sintàctic errors del
635 Scheme encastat.  Si es fixa a @code{#f}, detenir-se quan hi hagi
636 errors i imprimir un registre de traça de pila.
637
638 @item @code{read-file-list}
639 @tab @code{#f [fitxer]}
640 @tab Especifica el nom d'un fitxer que conté una llista de fitxers
641 d'entrada per processar.
642
643 @item @code{relative-includes}
644 @tab @code{#f}
645 @tab Quan es processa una instrucció @code{\include}, cerca el
646 fitxer inclòs de forma relativa al fitxer actual (enlloc del
647 fitxer principal).
648
649 @item @code{resolution}
650 @tab @code{101}
651 @tab Fixa la resolució per generar imatges de píxels @code{PNG} al
652 valor donat (en ppp).
653
654 @item @code{safe}
655 @tab @code{#f}
656 @tab No confiïs en l'entrada @code{.ly}.
657 @end multitable
658
659 @noindent
660 Quan el servei de tipografia està disponible a través d'un
661 servidor web, @b{S'HAN DE} passar les opcions @option{--safe} o
662 @option{--jail}.  L'opció @option{--safe} evita que el codi del
663 Scheme faci un desastre, per exemple:
664
665 @quotation
666 @verbatim
667 #(system "rm -rf /")
668 {
669   c4^$(ly:gulp-file "/etc/passwd")
670 }
671 @end verbatim
672 @end quotation
673
674 L'opció @option{-dsafe} funciona avaluant les expressions del
675 Scheme en línia dins d'un mòdul segur especial.  Deriva del mòdul
676 @file{safe-r5rs} del GUILE, però a més afegeix unes quantes
677 funcions de l'API del LilyPond que estan relacionades en
678 @file{scm/safe-lily.scm}.
679
680 A més, el mode segur prohibeix les directives @code{\include} i
681 desactiva la utilització de barres invertides a les cadene de
682 @TeX{}.  A més, no és possible importar variables del LilyPond
683 dins del Scheme quan s'està em mode segur.
684
685 @option{-dsafe} @emph{no} detecta la sobreutilitizació de
686 recursos, per la qual cosa encara és possible fer que el programa
687 es pengi indefinidament, per exemple subministrant estructures de
688 dades cícliques en el rerefons.  Per això, si esteu usant el
689 LilyPond en un servidor web accessible públicament, el procés s'ha
690 de limitar tant en l'ús de memòria com de CPU.
691
692 El mode segur evita que es puguin compilar molts fragments de codi
693 útils.
694
695 L'opció @option{--jail} és una alternativa encara més segura, però
696 requereix més feina per a la seva configuració.  Vegeu
697 @ref{Opcions bàsiques de la línia d'ordres per al LilyPond}.
698
699 @multitable @columnfractions .33 .16 .51
700 @item @code{separate-log-files}
701 @tab @code{#f}
702 @tab Per als fitxers d'entrada @code{FITXER1.ly},
703 @code{FITXER2.ly}, etc., treu les dades de registre cap als
704 fitxers @code{FITXER1.log}, @code{FITXER2.log}@dots{}
705
706 @item @code{show-available-fonts}
707 @tab @code{#f}
708 @tab Llista tots els noms dels tipus tipogràfics de lletra
709 disponibles.
710
711 @item @code{strict-infinity-checking}
712 @tab @code{#f}
713 @tab Força una terminació abrupta si es troben les excepcions de
714 punt flotant @code{Inf} i @code{NaN}.
715
716 @item @code{strip-output-dir}
717 @tab @code{#t}
718 @tab No usis els directoris dels fitxers d'entrada en construir
719 els noms dels fitxers de sortida.
720
721 @item @code{strokeadjust}
722 @tab @code{#f}
723 @tab Força l'ajust dels traços de PostScript.  Aquesta opció és
724 rellevant principalment quan es genera un @code{PDF} a partir de
725 la sortida de PostScript (l'ajust del traç està en general activat
726 automàticament per a dispositius de mapa de punts de baixa
727 resolució).  Sense aquesta opció, els visors de @code{PDF}
728 tendeixen a produir amplades de plica molt poc consistents a les
729 resolucions típiques de les pantalles d'ordinador.  L'opció no
730 afecta de forma molt significativa a la qualitat de la impressió i
731 causa grans increments a la mida del fitxer @code{PDF}.
732
733 @item @code{svg-woff}
734 @tab @code{#f}
735 @tab Usar fitxers de tipus tipogràfic de lletra de woff al
736 rerefons SVG.
737
738 @item @code{trace-memory-frequency}
739 @tab @code{#f}
740 @tab Registra l'ús de cèl·lules del Scheme aquesta quantitat de
741 vegades per segon.  Bolca els resultats en @code{FITXER.stacks} i
742 en @code{FITXER.graph}.
743
744 @item @code{trace-scheme-coverage}
745 @tab @code{#f}
746 @tab Registra la cobertura dels fitxers del Scheme a @code{FITXER.cov}.
747
748 @item @code{verbose}
749 @tab @code{#f}
750 @tab Sortida detallada, és a dir el nivell de registre en DEBUT
751 (sols lectura).
752
753 @item @code{warning-as-error}
754 @tab @code{#f}
755 @tab Canvia tots els missatges d'advertiment i de @q{error de
756 programació} a errors.
757 @end multitable
758
759
760 @node Variables d'entorn
761 @unnumberedsubsec Variables d'entorn
762 @translationof Environment variables
763
764 @cindex LANG
765 @cindex LILYPOND_DATADIR
766
767 @command{lilypond} reconeix les següents variables d'entorn:
768 @table @code
769 @item LILYPOND_DATADIR
770 Especifica un directori en el qual els missatges de localització i
771 de dades es buscaran de forma predeterminada.  El directori ha de
772 contenir subdirectoris anomenats @file{ly/}, @file{ps/},
773 @file{tex/}, etc.
774
775 @item LANG
776 Selecciona l'idioma dels missatges d'advertiment.
777
778 @item LILYPOND_LOGLEVEL
779 Nivell de registre predeterminat.  Si el LilyPond es crida sense
780 cap nivell de registre explícit (és a dir, sense opció de línia d'ordres
781 @option{--loglevel}), s'usa aquest valor.
782
783 @item LILYPOND_GC_YIELD
784 Una variable, com a percentatge, que ajusta el comportament de
785 l'administració de memòria.  Amb valors més alts, el programa usa
786 més memòria; amb valors més baixos, usa més temps de CPU.  El
787 valor predeterminat és @code{70}.
788
789 @end table
790
791
792 @node El LilyPond a una gàbia de chroot
793 @unnumberedsubsec El LilyPond en una gàbia de chroot
794 @translationof LilyPond in chroot jail
795
796 La preparació del servidor perquè executi el LilyPond a una gàbia
797 de chroot és una tasca molt complicada.  Els passos estan
798 relacionats més avall.  Els exemples que apareixen en cadascú dels
799 passos son vàlids per a Ubuntu GNU/Linux, i poden requerir l'ús de
800 @code{sudo} segons correspongui.
801
802 @itemize
803
804 @item Instal·leu els paquets necessaris: el LilyPond, el Ghostscript i l'ImageMagick.
805
806 @item Creeu un usuari nou amb el nom de @code{lily}:
807
808 @example
809 adduser lily
810 @end example
811
812 @noindent
813 Això també crearà un nou grup per a l'usuari @code{lily}, i una
814 carpeta personal, @code{/home/lily}
815
816 @item A la carpeta personal de l'usuari @code{lily}, creeu un fitxer per usar-lo com a sistema de fitxers separat:
817
818 @example
819 dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000
820 @end example
821
822 @noindent
823 Aquest exemple crea un fitxer de 200MB per al seu ús com el
824 sistema de fitxers de la gàbia.
825
826 @item Creeu un dispositiu loop, feu un sistema de fitxers i munteu-lo,
827 després creeu una carpeta que es pugui escriure per l'usuari
828 @code{lily}:
829
830 @example
831 mkdir /mnt/lilyloop
832 losetup /dev/loop0 /home/lily/loopfile
833 mkfs -t ext3 /dev/loop0 200000
834 mount -t ext3 /dev/loop0 /mnt/lilyloop
835 mkdir /mnt/lilyloop/lilyhome
836 chown lily /mnt/lilyloop/lilyhome
837 @end example
838
839 @item En la configuració dels servidors, JAIL serà @code{/mnt/lilyloop}
840 i DIR serà @code{/lilyhome}.
841
842 @item Creeu un gran arbre de directoris dins de la gàbia copiant els
843 fitxers necessaris, com es mostra en el guió d'exemple que apareix
844 més avall.
845
846 Podeu usar @code{sed} per crear els fitxeres de còpia necessaris per a
847 un executable donat:
848
849 @example
850 for i in "/usr/local/lilypond/usr/bin/lilypond" "/bin/sh" "/usr/bin/;  \
851   do ldd $i | sed 's/.*=> \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\&  \
852     cp -L \/\1\2 \1\2/' | sed 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p  \
853       \1 \&\& cp -L \/\1\2 \1\2/' | sed '/.*=>.*/d'; done
854 @end example
855
856 @end itemize
857
858 @subheading Guió d'exemple per a l'Ubuntu 8.04 de 32 bits
859
860 @example
861 #!/bin/sh
862 ## aquí es fixen els valors predeterminats
863
864 username=lily
865 home=/home
866 loopdevice=/dev/loop0
867 jaildir=/mnt/lilyloop
868 # prefix (sense la barra inicial!)
869 lilyprefix=usr/local
870 # el directori en el qual el LilyPond es troba instal·lat en el sistema
871 lilydir=/$lilyprefix/lilypond/
872
873 userhome=$home/$username
874 loopfile=$userhome/loopfile
875 adduser $username
876 dd if=/dev/zero of=$loopfile bs=1k count=200000
877 mkdir $jaildir
878 losetup $loopdevice $loopfile
879 mkfs -t ext3 $loopdevice 200000
880 mount -t ext3 $loopdevice $jaildir
881 mkdir $jaildir/lilyhome
882 chown $username $jaildir/lilyhome
883 cd $jaildir
884
885 mkdir -p bin usr/bin usr/share usr/lib usr/share/fonts $lilyprefix tmp
886 chmod a+w tmp
887
888 cp -r -L $lilydir $lilyprefix
889 cp -L /bin/sh /bin/rm bin
890 cp -L /usr/bin/convert /usr/bin/gs usr/bin
891 cp -L /usr/share/fonts/truetype usr/share/fonts
892
893 # Ara la màgia de copiar les biblioteques
894 for i in "$lilydir/usr/bin/lilypond" "$lilydir/usr/bin/guile" "/bin/sh"  \
895   "/bin/rm" "/usr/bin/gs" "/usr/bin/convert"; do ldd $i | sed 's/.*=>  \
896     \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' | sed  \
897       's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/'  \
898         | sed '/.*=>.*/d'; done | sh -s
899
900 # Els fitxers compartits per al ghostcript...
901       cp -L -r /usr/share/ghostscript usr/share
902 # Els fitxers compartits per a l'ImageMagick
903       cp -L -r /usr/lib/ImageMagick* usr/lib
904
905 ### Ara, suposant que tenim test.ly a /mnt/lilyloop/lilyhome,
906 ### hauríem de poder executar:
907 ### Observeu que /$lilyprefix/bin/lilypond és un guió, que estableix
908 ### un valor per a LD_LIBRARY_PATH : això és crucial
909       /$lilyprefix/bin/lilypond -jlily,lily,/mnt/lilyloop,/lilyhome test.ly
910 @end example
911
912 @c " keep quote signs balanced for context-sensitive editors
913
914 @node Missatges d'error
915 @section Missatges d'error
916 @translationof Error messages
917
918 @cindex error, missatges d'error
919 @cindex missatges d'error
920
921 Poden aparèixer diferents missatges d'error en compilar un fitxer:
922
923 @table @emph
924
925 @item Advertiment
926 @cindex advertiment
927 Alguna cosa té un aspecte sospitós.  Si estem demanant quelcom
928 fora del comú, entendrem el missatge i podrem ignorar-lo.  Tot i
929 així, els advertiments solen indicar que alguna cosa va mal amb el
930 fitxer d'entrada.
931
932 @item Error
933 @cindex error
934 És clar que alguna cosa va malament.  El pas actual del
935 processament (anàlisi, interpretació o format visual) es donarà
936 per acabat, però el pas següent se saltarà.
937
938 @item Error fatal
939 @cindex error fatal
940 @cindex fatal, error
941 És clar que alguna cosa va malament, i el LilyPond no pot
942 continuar.  Poques vegades passa això.  La causa més freqüent són
943 els tipus de lletra mal instal·lats.
944
945 @item Error del Scheme
946 @cindex traça del Scheme
947 @cindex crides, traça de
948 @cindex Scheme, error de
949 @cindex error del Scheme
950 Els errors que ocorren en executar el codi del Scheme
951 s'intercepten per part de l'intèrpret del Scheme.  Si s'està
952 executant amb les opcions @option{-V} o @option{--verbose}
953 (detallat) aleshores s'imprimeix una traça de crides de la funció
954 ofensiva.
955
956 @item Error de programació
957 @cindex error de programació
958 @cindex programació, error de
959 Hi ha hagut algun tipus d'inconsistència interna.  Aquests
960 missatges d'error estan orientats a ajudar als programadors i als
961 depuradors.  Normalment es poden ignorar.  En ocasions apareixen
962 en quantitats tan grans que poden entorpir la visió d'altres
963 missatges de sortida.
964
965 @item Abort (bolcat de core)
966 Això senyala un error de programació seriós que ha causat la
967 interrupció abrupta del programa.  Aquests errors es consideren
968 crítics.  Si es topa amb un, envieu un informe de fallada.
969 @end table
970
971 @cindex error, format dels missatges de
972
973 Si els errors i advertiments es poden lligar a un punt del fitxer
974 d'entrada, els missatges tenen la forma següent:
975
976 @example
977 @var{fitxer}:@var{línia}:@var{columna}: @var{missatge}
978 @var{línia d'entrada problemàtica}
979 @end example
980
981 S'insereix un salt de línia a la línia problemàtica per indicar la
982 columna on es va trobar l'error.  Per exemple,
983
984 @example
985 prova.ly:2:19: error: no és una duració: 5
986   @{ c'4 e'
987            5 g' @}
988 @end example
989
990 Aquestes posicions són la millor suposició del LilyPond sobre on
991 s'ha produït el missatge d'error, però (per la seva pròpia
992 naturalesa) els advertiment i errors es produeixen quan passa
993 quelcom inesperat.  Si no veieu un error a la línia que s'indica
994 del fitxer d'entrada, intenteu comprovar una o dues línies per
995 sobre de la posició indicada.
996
997 S'ofereix més informació sobre els errors a la secció @ref{Errors
998 comuns}.
999
1000 @node Errors comuns
1001 @section Errors comuns
1002 @translationof Common errors
1003
1004 Les condicions d'error que es descriuen més a sota es produeixen
1005 amb freqüència, tot i que la causa no és òbvia o fàcil de trobar.
1006 Un cop se han vist i comprès, es gestionen sense problema.
1007
1008 @menu
1009 * La música se surt de la pàgina::
1010 * Apareix un pentagrama de més::
1011 * Missatge d'error Unbound variable %::
1012 * Missatge d'error FT_Get_Glyph_Name::
1013 * Advertiment sobre que les afinitats del pentagrama sols han de decrèixer::
1014 * Missatge d'error Unexpected new::
1015 @end menu
1016
1017 @node La música se surt de la pàgina
1018 @unnumberedsubsec La música se surt de la pàgina
1019 @translationof Music runs off the page
1020
1021 La música que se surt de la pàgina pel marge dret o que apareix
1022 exageradament comprimida està causada gairebé sempre per haver
1023 introduït una duració incorrecta per a una nota, produint que la
1024 nota final d'un compàs s'estengui més enllà de la línia
1025 divisòria.  Això no és invàlid si la nota final d'un compàs no
1026 acaba sobre la línia divisòria introduïda automàticament, atès que
1027 simplement se suposa que la nota se solapa a sobre del compàs
1028 següent.  Però si es produeix una seqüència llarga d'aquestes
1029 notes solapades, la música pot aparèixer comprimida o sortir-se
1030 de la pàgina perquè els salts de línia automàtiques solament se
1031 poden inserir al final dels compassos complets, és a dir, els
1032 compassos en els quals totes les notes acaben abans o just al
1033 final del compàs.
1034
1035 @warning{Una duració incorrecta pot fer que s'inhibeixin els salts
1036 de línia, el que portaria a una sola línia de música molt
1037 comprimida o que se surti de la pàgina.}
1038
1039 La duració incorrecta es pot trobar fàcilment si s'utilitzen
1040 comprovacions de compàs, vegeu @ruser{Comprovació de compàs i de
1041 número de compàs}.
1042
1043 Si realment volem tenir una sèrie d'aquests compassos amb notes
1044 solapades, hem d'inserir una línia divisòria invisible on volem
1045 el salt de línia.  Per veure més detalls, consulteu
1046 @ruser{Barres de compàs}.
1047
1048
1049 @node Apareix un pentagrama de més
1050 @unnumberedsubsec Apareix un pentagrama de més
1051 @translationof An extra staff appears
1052
1053 Si no es creen els contextos explícitament amb @code{\new} o amb
1054 @code{\context}, es crearan discretament tan aviat com es trobi
1055 una instrucció que no es pot aplicar a un context existent.  A
1056 partitures senzilles, la creació automàtica dels contextos és
1057 útil, i gairebé tots els exemples dels manuals del LilyPond
1058 s'aprofiten d'aquesta simplificació.  Però ocasionalment la
1059 creació discreta de contextos pot fer aflorar pentagrames o
1060 partitures nous o inesperats.  Per exemple, podria esperar-se que
1061 el codi següent fet que totes les notes dins del pentagrama
1062 següent estiguessin acolorides de vermell, però de fet el
1063 resultat són dos pentagrames, romanent el de sota amb les
1064 notes amb el color negre predeterminat.
1065
1066 @lilypond[quote,verbatim,relative=2]
1067 \override Staff.NoteHead.color = #red
1068 \new Staff { a }
1069 @end lilypond
1070
1071 Això és així perquè no hi ha cap context @code{Staff} quan es
1072 processa la instrucció override de sobreescriptura, es crea un
1073 implícitament i la sobreescriptura s'aplica a aquest context, però
1074 aleshores la instrucció @code{\new Staff} crea un pentagrama nou i
1075 diferent, en el qual es col·loquen les notes.  El codi correcte
1076 per acolorir totes les notes de vermell és
1077
1078 @lilypond[quote,verbatim,relative=2]
1079 \new Staff {
1080   \override Staff.NoteHead.color = #red
1081   a
1082 }
1083 @end lilypond
1084
1085 Com a segon exemple, si una instrucció @code{\relative} s'escriu
1086 dins d'una instrucció @code{\repeat}, el resultat són dos
1087 pentagrames, el segon desplaçat respecte al primer, perquè la
1088 instrucció @code{\repeat} genera dos blocs @code{\relative}, cada
1089 un dels quals crea implícitament blocs @code{Staff} i @code{Voice}.
1090
1091 @lilypond[quote,verbatim]
1092 \repeat unfold 2 {
1093   \relative c' { c4 d e f }
1094 }
1095 @end lilypond
1096
1097 El problema es resol instanciant el context @code{Voice}
1098 explícitament:
1099
1100 @lilypond[quote,verbatim]
1101 \new Voice {
1102   \repeat unfold 2 {
1103     \relative c' { c4 d e f }
1104   }
1105 }
1106 @end lilypond
1107
1108
1109 @node Missatge d'error Unbound variable %
1110 @unnumberedsubsec Missatge d'error Unbound variable %
1111 @translationof Error message Unbound variable %
1112
1113 Aquest missatge d'error apareix al final dels missatges de la
1114 consola o del fitxer de registre junt a un missatge @qq{GUILE
1115 ha senyalat un error @dots{}} cada cop que es cridi a una rutina
1116 del Scheme que (incorrectament) contingui un comentari @emph{del
1117 LilyPond} enlloc d'un comentari @emph{del Scheme}.
1118
1119 Els comentaris del LilyPond comencen amb un símbol de
1120 percentatge, (@code{%}), i no s'han d'utilitzar dins de les
1121 rutines del Scheme.  Els comentaris del Scheme comencen amb punt i
1122 coma, (@code{;}).
1123
1124 @node Missatge d'error FT_Get_Glyph_Name
1125 @unnumberedsubsec Missatge d'error FT_Get_Glyph_Name
1126 @translationof Error message FT_Get_Glyph_Name
1127
1128 Aquest missatge d'error apareix a la sortida de la consola o al
1129 fitxer log de registre si un fitxer d'entrada conté un caràcter que
1130 no és ASCII i no s'ha desat en la codificació de caràcters
1131 UTF-8.  Per veure més detalls, consulteu @ruser{Codificació del
1132 text}.
1133
1134 @node Advertiment sobre que les afinitats del pentagrama sols han de decrèixer
1135 @unnumberedsubsec Advertiment sobre que les afinitats del pentagrama sols han de decrèixer
1136 @translationof Warning staff affinities should only decrease
1137
1138 Aquest advertiment pot aparèixer si no hi ha cap pentagrama a la
1139 sortida impresa, per exemple si sols hi ha un context
1140 @code{ChordName} i un context @code{Lyrics} com a un full guia
1141 d'acords.  Els missatges d'advertiment es poden evitar fent que un
1142 dels contextos es comporti com un pentagrama, inserint
1143
1144 @example
1145 \override VerticalAxisGroup.staff-affinity = ##f
1146 @end example
1147
1148 @noindent
1149 al començament.  Per veure més detalls, consulteu @qq{Espaiat de
1150 les línies que no són pautes} a @ruser{Espaiat vertical flexible
1151 dins dels sistemes}.
1152
1153 @node Missatge d'error Unexpected new
1154 @unnumberedsubsec Missatge d'error Unexpected new
1155 @translationof Error message unexpected new
1156
1157 Un bloc @code{\score} ha de contenir una @emph{única} expressió
1158 musical.  Si en comptes d'això conté diverses instruccions
1159 @code{\new Staff}, @code{\new StaffGroup} o contextos semblants
1160 introduïts amb @code{\new} sense que s'hagin tancat entre
1161 claudàtors corbs, @code{@{ @dots{} @}}, o dobles parèntesis en
1162 angle, @code{<< @dots{}  >>}, així:
1163
1164 @example
1165 \score @{
1166   % Invàlid! Genera error: error de sintaxi, \new inesperat
1167   \new Staff @{ @dots{} @}
1168   \new Staff @{ @dots{} @}
1169 @}
1170 @end example
1171
1172 @noindent
1173 aleshores es produirà un missatge d'error.
1174
1175 Per evitar l'error, tanqueu totes les instruccions @code{\new}
1176 dins dels claudàtors corbs o dobles parèntesis d'angle.
1177
1178 L'ús de claudàtors corbs introdueix les instruccions @code{\new}
1179 de forma seqüencial:
1180
1181 @lilypond[quote,verbatim]
1182 \score {
1183   {
1184     \new Staff { a' a' a' a' }
1185     \new Staff { g' g' g' g' }
1186   }
1187 }
1188 @end lilypond
1189
1190 @noindent
1191 però és més probable que us trobeu utilitzant angles dobles de
1192 manera que els pentagrames nous s'insereixin en paral·lel, és a
1193 dir, simultàniament:
1194
1195 @lilypond[quote,verbatim]
1196 \score {
1197   <<
1198     \new Staff { a' a' a' a' }
1199     \new Staff { g' g' g' g' }
1200   >>
1201 }
1202 @end lilypond