1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ca -*-
4 Translation of GIT committish: 45d0e015edc53abebada17a0fdb1d665f7edf900
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..
13 @c Translators: Walter Garcia-Fontes
14 @c Translation checkers:
16 @node Suggeriments per escriure fitxers d'entrada
17 @chapter Suggeriments per escriure fitxers d'entrada
18 @translationof Suggestions for writing files
20 En aquest moment teniu la preparació per començar a escriure
21 fitxers del LilyPond més grans -- no sols els petits exemples que
22 apareixen en el tutorial, sinó peces completes --. Però, com heu
23 de procedir per fer-lo?
25 En la mesura que el LilyPond entengui els seus fitxers i produeixi
26 la sortida que preteníeu, realment no importa massa quin aspecte
27 tinguin els vostres fitxers. Tot i així existeixen algunes altres
28 coses a tenir en compte quan s'escriuen fitxers del LilyPond.
31 @item Què passa si feu un error? L'estructura d'un fitxers del
32 LilyPond pot fer que certs errors es facin més fàcils (o més
35 @item Què passa si voleu compartir els vostres fitxers amb altres
36 persones? De fet, i si voleu alterar els vostres propis fitxers
37 després d'alguns anys? Alguns fitxers del LilyPond s'entenen a
38 primera vista; d'altres poden portar-vos una hora d'entendre.
40 @item Què passa si voleu actualitzar el vostre fitxers del
41 LilyPond per poder-lo usar amb una versió més recent del programa?
43 La sintaxi de l'entrada es modifica de forma ocasional segons el
44 LilyPond es va perfeccionant. Gairebé tots els canvis es poden
45 fer de forma automàtica amb @code{convert-ly}, però a alguns
46 altres els caldria una ajuda manual. Els fitxers del LilyPond es
47 poden estructura perquè siguin més fàcils (o més difícils)
53 * Suggeriments de tipus general::
54 * Gravació de música existent::
56 * Solució de problemes::
57 * Make i els Makefiles::
61 @node Suggeriments de tipus general
62 @section Suggeriments de tipus general
63 @translationof General suggestions
65 Us presentem alguns suggeriments que us poden servir d'ajuda per
66 evitar o corregir problemes:
69 @item @strong{Incloeu els números de @code{\version} a tots els fitxers}.
70 Adoneu-vos que totes les plantilles contenen informació sobre la
71 versió (@code{\version}). Us recomanem molt que sempre incloeu la
72 versió, tot i que els vostre fitxer pugui ser molt petit. Des de
73 l'experiència personal us podem dir que força frustrant intentar
74 recordar el número de versió del LilyPond que estàveu fent servir
75 fa uns anys. @code{convert-ly} requereix que declareu quina
76 versió del LilyPond fèieu servir.
78 @item @strong{Incloeu comprovacions}:
79 @ruser{Comprovació de compàs i de número de compàs},
80 @ruser{Comprovació d'octava}.
81 Si incloeu comprovacions de tant en tant, en cas que cometeu un
82 error podreu localitzar-lo molt més ràpidament. Amb quina
83 freqüència és @q{de tant en tant}? Depèn de la complexitat de la
84 música. Per a una música molt senzilla, potser tan sols una o
85 dues vegades. Per a una música molt complexa, potser a cada
88 @item @strong{Un compàs per cada línia de text}. Si hi ha quelcom
89 molt complicat, ja sigui a la pròpia música o a la sortida que
90 desitgeu produir, sovint convé escriure un sol compàs per a cada
91 línia. L'estalvi en espai de pantalla que s'obté acumulant nou
92 compassos per línia no paga la pena si després heu de @q{depurar}
95 @item @strong{Comenteu els fitxers}. Utilitzeu o bé números de
96 compàs (de tant en tant), o referències a temes musicals (@q{segon
97 tema dels violins,} @q{quarta variació,} etc.). Potser que no us
98 calguin comentaris quan introduïu una peça per primer cop, però si
99 voleu tornar a ella o modificar quelcom al cap de dos o tres anys,
100 i també si li passeu la font a un amic, serà tot un desafiament
101 determinar les seves intencions o de quina menara estava
102 estructurat el fitxer si no li heu afegit els comentaris.
104 @item @strong{Apliqueu marges a les claus}. Molts problemes
105 estan casat per una falta d'equilibri en el nombre de @code{@{} i
108 @item @strong{Escriviu les duracions explícitament} al començament
109 de les seccions i identificadors. Si especifiqueu @code{c4 d e}
110 al principi d'una frase (en lloc de sols @code{c d e}) us podeu
111 estalviar problemes si reelaboreu la música més tard.
113 @item @strong{Separeu els ajustaments} de les definicions
115 @rlearning{Estalvi de tecleig mitjançant variables i funcions} i
116 @rlearning{Fulls d'estil}
120 @node Gravació de música existent
121 @section Gravació de música existent
122 @translationof Typesetting existing music
124 Si esteu introduint música a partir d'una partitura existent (és a
125 dir, gravant un full de música ja imprès),
129 @item Introduïu al LilyPond cada sistema del manuscrit, o còpia
130 física, per separat (però manteniu la pràctica d'escriure un
131 compàs per línia de text), i comproveu cada sistema quan l'hàgiu
132 acabat. Podeu usar les propietats @code{showLastLength} o
133 @code{showFirstLength} per accelerar el procés (vegeu
134 @rusernamed{Skipping corrected music,Omissió de la música corregida}).
136 @item Definiu @code{mBreak = @{ \break @}} i inseriu
137 @code{\mBreak} dins del fitxer d'entrada on el manuscrit tingui un
138 salt de línia. D'aquesta forma us resultarà molt més fàcil
139 comparar la música del LilyPond amb l'original. Quan hageu acabat
140 de revisar la vostra partitura podreu definir
141 @code{mBreak = @{ @}} per treure tots aquests salts de línia.
142 Així permetreu el LilyPond col·locar els salts on el LilyPond el
143 consideri més oportú.
145 @item En escriure una part per a un instrument transpositor dins
146 d'una variable, es recomana que les notes estiguin envoltades dins de
149 \transpose c altura-natural @{@dots{}@}
153 (on @code{altura-natural} és l'afinació natural de l'instrument)
154 de forma que la música dins de la variable estigui realment en Do
155 major. Després podem tornar a transportar-les en sentit invers
156 quan s'utilitza la variable, si és necessari, però potser no
157 vulguem fer-lo (per exemple en imprimir una partitura en afinació
158 de concert, en convertir una part de trombó de clau de Sol a clau
159 de Fa, etc.). És menys probable cometre errors als transports si
160 tota la música que està dins de les variables es troba en un to
163 A més a més, feu els transport exclusivament cap o des de Do
164 major. Això significa que a part de Do major, les úniques
165 tonalitats que usarem seran els tons d'afinació dels instruments
166 transpositors: bes per a una trompeta en Si bemoll, aes per a un
167 clarinet en La bemoll, etc.
171 @node Projectes grans
172 @section Projectes grans
173 @translationof Large projects
175 En treballar en projectes grans es fa essencial tenir una
176 estructura clara als fitxers dels LilyPond:
180 @item @strong{Utilitzeu un identificador per a cada veu}, amb un
181 mínim d'estructura dins de la definició. L'estructura de la
182 secció @code{\score} és la que canviarà amb major probabilitat:
183 per contra, és extremadament improbable que canviï la definició de
184 @code{violí} a versions noves del LilyPond.
201 @item @strong{Separeu els ajustaments de les definicions
202 musicals}. Ja s'ha mencionat amb anterioritat, però per a
203 projectes grans és vital. Potser haurem de canviar la definició
204 de @code{fdesprésp}, però en aquest cas sols ho haurem de fer un
205 cop, i encara podrem evitar tocar res dins de @code{violí}.
208 fdesprésp = _\markup@{
209 \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p @}
218 @node Solució de problemes
219 @section Solució de problemes
220 @translationof Troubleshooting
222 Abans o després escriureu un fitxer que el LilyPond no podrà
223 compilar. Els missatges que el LilyPond proporciona poden
224 ajudar-vos a trobar l'error, però en molts casos haureu de portar
225 endavant algun tipus d'investigació per determinar l'origen del
226 problema. Les eines més poderoses per a aquest propòsit son el
227 comentari d'una sola línia (indicat per @code{%}) i el comentari
228 de bloc (indicat per @code{%@{@dots{}%@}}). Si no sabeu on és el
229 problema, comenceu convertint seccions grans del fitxer d'entrada
230 en un comentari. Després d'eliminar una secció convertint-la en
231 un comentari, proveu a compilar un fitxer un altre cop. Si
232 funciona, aleshores el problema hauria d'estar a la porció que
233 havíeu eliminat. Si no funciona, continueu eliminant material
234 (transformant-lo en comentaris) fins que tingueu quelcom que
237 En un cas extrem podríeu acabat amb sols
251 (en altres paraules: un fitxer sense música)
253 Si passa això, no abandoneu. Traieu el comentari d'una secció
254 petita -- diguem-ne la part del baix -- i observeu si funciona.
255 Si no és així, transformeu en comentaris tota la música del baix
256 (però deixeu el @code{\baix} de la secció @code{\score} no comentat.
267 Ara comenceu poc a poc traient comentaris a cada cop més fraccions
268 de la part del @code{baix} fins que trobeu la línia del problema.
270 Una altra tècnica de depuració molt útil és la construcció de
271 @rweb{Exemples mínims}.
273 @node Make i els Makefiles
274 @section Make i els Makefiles
275 @translationof Make and Makefiles
277 @cindex make, fitxers de
280 Possiblement totes les plataformes on pot executar-se el LilyPond
281 contemplen una possibilitat de programari anomenada @code{make}.
282 Aquest programa llegeix un fitxer especial anomenat
283 @code{Makefile} que defineix les relacions de dependència entre
284 els fitxers i quines instruccions necessitem donar al sistema
285 operatiu per produir un fitxer a partir d'un altre. Per exemple,
286 el fitxer de make detallaria com obtenir
287 @file{balada.pdf} i @file{balada.midi} a partir de @file{balada.ly}
288 mitjançant l'execució del LilyPond.
290 Hi ha ocasions en les quals és una bona idea crear un
291 @code{Makefile} per al nostre projecte, bé sigui per la nostra
292 pròpia comoditat o com a cortesia per a altres que possiblement
293 tinguin accés als nostres fitxers font. Això és cert per a
294 projectes molt grans amb molts fitxers d'inclusió i diferents
295 opcions de sortida (per exemple partitura completa, particel·les,
296 partitura del director, reducció per a piano, etc.), o per a
297 projectes que requereixen ordres difícils per muntar-los (com els
298 projectes de @code{lilypond-book}). La complexitat i flexibilitat
299 dels Mekfiles varia enormement segons les necessitats i
300 l'habilitat dels autors. El programa GNU Make ve instal·lat a les
301 distribucions del GNU/Linux i al MacOS X, i també existeix per al
304 Consulteu el @strong{Manual de GNU Make} per veure tots els
305 detalls sobre l'ús de @code{make}, atès que el segueix a
306 continuació ofereix sols una pinzellada de tot els és capaç de fer.
308 Les instruccions que defineixen les regles a un fitxer de make
309 difereixen en funció de la plataforma; per exemple, les diferents
310 formes del GNU/Linux i del MacOS usen @code{bash}, mentre que el Windows
311 usa @code{cmd}. Observeu que al MacOS C, hem de configurar el
312 sistema perquè faci servir l'interpret d'ordres. A continuació
313 presentem alguns makefiles d'exemple, amb versions tant per al
314 GNU/Linux/MacOS com per al Windows.
316 El primer exemple és per a una obra orquestral en quatre moviments
317 amb l'estructura de directoris següent:
334 | |-- sinfonia-cello.ly
335 | |-- sinfonia-trompa.ly
336 | |-- sinfonia-oboes.ly
337 | |-- sinfonia-viola.ly
338 | |-- sinfonia-violiU.ly
339 | `-- sinfonia-violiDos.ly
349 Els fitxers @file{.ly} dels directoris @code{Partitures} i
350 @code{Particelles} obtenen les notes de fitxers @file{.ily} que estan al
351 directori @code{Notes}:
354 %%% principi del fitxer "sinfonia-cello.ly"
355 \include ../definicionsSinf.ily
356 \include ../Notes/cello.ily
359 El makefile tindrà els objectius de @code{partitura} (la peça
360 completa en tot el seu esplendor), @code{moviments} (partitura
361 completa dels moviments individuals) i @code{particel·les} (parts
362 individuals per als faristols). També hi ha un objectiu
363 @code{fitxer} que produeix un fitxer tar de distribució (tarball)
364 dels fitxers font, adequat per compartir-lo a través de la web o
365 per correu electrònic. A continuació presentem el makefile per a
366 GNU/Linux o MacOS C. S'ha de desar amb el nom exacte
367 @code{Makefile} al directori superior del projecte:
369 @warning{Quan es defineix un objectiu o una regla de patró, les
370 línies següents han de començar amb tabuladors, no amb espais.}
373 # nom principal dels fitxers de sortida
375 # determinació del nombre de processadors
376 CPU_CORES=`cat /proc/cpuinfo | grep -m1 "cpu cores" | sed s/".*: "//`
377 # L'ordre per executar el LilyPond
378 LILY_CMD = lilypond -ddelete-intermediate-files \
379 -dno-point-and-click -djob-count=$(CPU_CORES)
381 # Els sufixos utilitzats a aquest Makefile.
382 .SUFFIXES: .ly .ily .pdf .midi
384 # Els fitxers d'entrada i de sortida es busquen dins dels directoris relacionats a
385 # la variable VPATH. Tots ells són subdirectoris del directori
386 # en curs (donat per la variable de GNU make `CURDIR').
388 $(CURDIR)/Partitures \
390 $(CURDIR)/Particelles \
393 # La regla de patró per crear fitxers PDF i MIDI a partir fitxers d'entrada LY
394 # Els fitxers de sortida .pdf es col·loquen al subdirectori `PDF', i els fitxers
395 # .midi van al subdirectori `MIDI'.
397 $(LILY_CMD) $<; \ # Aquesta línia comença amb un salt de tabulació
398 if test -f "$*.pdf"; then \
401 if test -f "$*.midi"; then \
402 mv "$*.midi" MIDI/; \
413 # Dependències dels moviments
414 $(nom)I.pdf: $(nom)I.ly $(notes)
415 $(nom)II.pdf: $(nom)II.ly $(notes)
416 $(nom)III.pdf: $(nom)III.ly $(notes)
417 $(nom)IV.pdf: $(nom)IV.ly $(notes)
419 # Dependències de la partitura completa.
420 $(nom).pdf: $(nom).ly $(notes)
422 # Dependències de les particel·les.
423 $(nom)-cello.pdf: $(nom)-cello.ly cello.ily
424 $(nom)-trompa.pdf: $(nom)-trompa.ly trompa.ily
425 $(nom)-oboes.pdf: $(nom)-oboes.ly oboe.ily
426 $(nom)-viola.pdf: $(nom)-viola.ly viola.ily
427 $(nom)-violiU.pdf: $(nom)-violiU.ly violiU.ily
428 $(nom)-violiDos.pdf: $(nom)-violiDos.ly violiDos.ily
430 # Teclegeu `make partitura' per generar la partitura completa dels quatre
431 # moviments com un fitxer únic.
433 partitura: $(nom).pdf
435 # Teclegeu `make particelles' per generar totes les particel·les
436 # Teclegeu `make pepet.pdf' per generar la particel·la de
437 # l'instrument `pepet'.
439 # Exemple: `make sinfonia-cello.pdf'.
441 particellas: $(nom)-cello.pdf \
442 $(nom)-violinUno.pdf \
443 $(nom)-violinDos.pdf \
448 # Teclegeu `make moviments' per generar els fitxers dels
449 # quatre moviments de forma separada.
451 moviments: $(nom)I.pdf \
456 all: partitura particelles moviments
459 tar -cvvf stamitz.tar \ # aquesta línia comença amb un salt de tabulació
460 --exclude=*pdf --exclude=*~ \
461 --exclude=*midi --exclude=*.tar \
465 A la plataforma Windows hi ha certes complicacions. Després de
466 descarregar i instal·lar el programa GNU Make per al Windows,
467 haurem de configurar la ruta adequada a las variables d'entorn del
468 sistema de que l'intèrpret d'ordres del DOS pugui trobar el
469 programa Make. Per fer-lo, polseu amb el botó dret sobre "El meu
470 ordinador", escolliu @code{Propietats} i @code{Avançades}. Polseu
471 sobre @code{Variables d'entorn}, i després a la pestanya
472 @code{Variables del sistema}, seleccioneu @code{Ruta}, polseu
473 sobre @code{edita} i afegiu la ruta al fitxer executable de GNU
474 Make, amb la qual cosa quedarà quelcom semblant al següent:
477 C:\Fitxers de programa\GnuWin32\bin
480 El makefile en si s'ha de modificar perquè gestioni diverses
481 instruccions de l'intèrpret d'ordres i perquè pugui tractar amb
482 els espais que apareixen al nom d'alguns directoris del sistema
483 predeterminats. L'objectiu @code{fitxer} s'elimina perquè el
484 Windows no té l'ordre @code{tar}, i el Windows a més té una
485 extensió predeterminada diferent per als fitxers MIDI.
488 ## VERSIÓ PER AL WINDOWS
491 LILY_CMD = lilypond -ddelete-intermediate-files \
492 -dno-point-and-click \
493 -djob-count=$(NUMBER_OF_PROCESSORS)
495 #obtenció del nom 8.3 de CURDIR (truc per als espais a PATH)
496 workdir = $(shell for /f "tokens=*" %%b in ("$(CURDIR)") \
499 .SUFFIXES: .ly .ily .pdf .mid
502 $(workdir)/Partitures \
504 $(workdir)/Particelles \
508 $(LILY_CMD) $< # aquesta línia comença amb un salt de tabulació
509 if exist "$*.pdf" move /Y "$*.pdf" PDF/ # començament amb tab
510 if exist "$*.mid" move /Y "$*.mid" MIDI/ # començament amb tab
522 $(nom)I.pdf: $(nom)I.ly $(notes)
523 $(nom)II.pdf: $(nom)II.ly $(notes)
524 $(nom)III.pdf: $(nom)III.ly $(notes)
525 $(nom)IV.pdf: $(nom)IV.ly $(notes)
527 $(nom).pdf: $(nom).ly $(notes)
529 $(nom)-cello.pdf: $(nom)-cello.ly cello.ily
530 $(nom)-trompa.pdf: $(nom)-trompa.ly trompa.ily
531 $(nom)-oboes.pdf: $(nom)-oboes.ly oboe.ily
532 $(nom)-viola.pdf: $(nom)-viola.ly viola.ily
533 $(nom)-violiU.pdf: $(nom)-violiU.ly violiU.ily
534 $(nom)-violiDos.pdf: $(nom)-violiDos.ly violiDos.ily
537 partitura: $(nom).pdf
540 particelles: $(nom)-cello.pdf \
542 $(nom)-violiDos.pdf \
548 moviments: $(nom)I.pdf \
553 all: partitura particelles moviments
556 El Makefile següent és per a un document de
557 @command{lilypond-book} fet en LaTeX. Aquest projecte té un
558 índex, que requereix executar l'ordre @command{latex} dues vegades
559 per actualitzar els enllaços. Tots els fitxers de sortida
560 s'emmagatzemen al directori @code{sortida} per als documents .pdf
561 i al directori @code{sortidahtml} per a la sortida en format html.
568 VISUALITZADOR=acroread
570 LILYBOOK_PDF=lilypond-book --output=$(DIR_SORTIDA) --pdf $(NOM).lytex
571 LILYBOOK_HTML=lilypond-book --output=$(DIR_WEB) $(NOM).lytex
572 PDF=cd $(DIR_SORTIDA) && pdflatex $(NOM)
573 HTML=cd $(DIR_WEB) && latex2html $(NOM)
574 INDEX=cd $(DIR_SORTIDA) && makeindex $(NOM)
575 VISTA_PREVIA=$(VISUALITZADOR) $(DIR_SORTIDA)/$(NOM).pdf &
580 $(LILYBOOK_PDF) # comença amb un tab
581 $(PDF) # comença amb un tab
582 $(INDEX) # comença amb un tab
583 $(PDF) # comença amb un tab
584 $(VISTA_PREVIA) # comença amb un tab
587 $(LILYBOOK_HTML) # comença amb un tab
588 $(HTML) # comença amb un tab
589 cp -R $(DIR_WEB)/$(NOM)/ ./ #
590 $(NAVEGADOR) $(NOM)/$(NOM).html & # comença amb un tab
593 cp $(DIR_SORTIDA)/$(NOM).pdf $(NOM).pdf # comença amb un tab
596 rm -rf $(DIR_SORTIDA) # comença amb un tab
599 rm -rf $(DIR_WEB) # comença amb un tab
602 tar -cvvf elmeuprojecte.tar \ # comença amb un tab
603 --exclude=sortida/* \
604 --exclude=sortidahtml/* \
605 --exclude=elmeuprojecte/* \
612 PERFER: aconseguir que funcioni a windows
614 El makefile anterior no funciona al Windows. Una alternativa per
615 als usuaris del Windows seria crear un fitxer de lots senzill que
616 contingui les ordres de muntatge. Això no segueix les
617 dependències com ho fa un makefile, però almenys redueix el procés
618 de construcció a una sola instrucció. Deseu el codi següent com
619 @command{muntatge.bat} o @command{muntatge.cmd}. El fitxer de lots
620 es pot executar en la línia d'ordres del DOS o simplement fent
621 doble clic sobre la seva icona.
624 lilypond-book --output=sortida --pdf elmeuprojecte.lytex
626 pdflatex elmeuprojecte
627 makeindex elmeuprojecte
628 pdflatex elmeuprojecte
630 copy sortida\elmeuprojecte.pdf ElMeuProjecte.pdf
635 Manual d'utilització del programa:
636 @rprogram{Utilització des de la línia d'ordres},
637 @rprogram{lilypond-book}