[ << Entrada i sortida generals ] | [Top][Contents][Index] | [ Gestió de l’espai >> ] |
[ < Ús de les variables ] | [ Up : Diferents edicions a partir d’una mateixa font ] | [ Ús d’ajustaments globals > ] |
Ús d’etiquetes
L’ordre \tag #'parteA
marca una expressió musical amb
el nom parteA. Les expressions etiquetades d’aquesta manera
es poden seleccionar o filtrar més tard pel seu nom, usant o bé
\keepWithTag #'nom
o bé
\removeWithTag #'nom
. El resultat de l’aplicació
d’aquests filtres a la música etiquetada és com segueix:
Filtre | Resultat |
---|---|
Música etiquetada precedida de \keepWithTag #'nom o
de \keepWithTag #'(nom1 nom2…) | S’inclou la música no etiquetada i la música etiquetada amb el nom o noms d’etiquetes donats; s’exclou la música etiquetada amb qualsevol altre nom d’etiqueta. |
Música etiquetada precedida de
\removeWithTag #'nom o
\removeWithTag #'(nom1 nom2…) | S’inclou la música no etiquetada i la música que no està etiquetada amb cap dels noms d’etiqueta donats; s’exclou la musica etiquetada amb els noms d’etiqueta donats. |
Música etiquetada no precedida de \keepWithTag ni de
\removeWithTag | S’inclou la música etiquetada i no etiquetada. |
Els arguments de les ordres \tag
,
\keepWithTag
i \removeWithTag
han de ser un símbol o
llista de símbols (com #'score
o #'(violiI
violiII
), seguida d’una expressió musical. Si i sols si
els símbols són identificadors del LilyPond vàlids
(caràcters alfabètics sols, sense números, guions baixos ni guions
normals) que no poden confondre’s amb notes, la porció
#'
es pot ometre i, com abreviatura, una llista de símbols
pot usar el separador de punt, és a dir: \tag
#'(violiI violiII)
es pot escriure com \tag
violiI.violiII
. Val el mateix per a \keepWithTag
i
\removeWithTag
.
A l’exemple següent veiem dues versions d’una peça musical, una que mostra trins amb la notació usual i una altra amb els trins expandits explícitament:
music = \relative { g'8. c32 d \tag #'trills { d8.\trill } \tag #'expand { \repeat unfold 3 { e32 d } } c32 d } \score { \keepWithTag #'trills \music } \score { \keepWithTag #'expand \music }
De forma alternativa, a vegades és més fàcil excloure seccions de música:
music = \relative { g'8. c32 d \tag #'trills { d8.\trill } \tag #'expand {\repeat unfold 3 { e32 d } } c32 d } \score { \removeWithTag #'expand \music } \score { \removeWithTag #'trills \music }
El filtrat d’etiquetes es pot aplicar a articulacions, textos, etc., anteposant
-\tag #'la-meva-etiqueta
a una articulació. Per exemple, això defineix una nota amb una indicació opcional de digitació i una nota amb una anotació condicional:
c1-\tag #'finger ^4 c1-\tag #'warn ^"Alerta!"
Es poden posar diverses etiquetes sobre expressions amb diverses
entrades de \tag
, o combinant diverses etiquetes en una
llista de símbols:
music = \relative c'' { \tag #'a \tag #'both { a4 a a a } \tag #'(b both) { b4 b b b } } << \keepWithTag #'a \music \keepWithTag #'b \music \keepWithTag #'both \music >>
Es poden aplicar diversos filtres \removeWithTag
a una sola
expressió musical per treure diverses seccions etiquetades amb
noms diferents. De forma alternativa, podem usar una sola ordre
\removeWithTag
amb una llista d’etiquetes.
music = \relative c'' { \tag #'A { a4 a a a } \tag #'B { b4 b b b } \tag #'C { c4 c c c } \tag #'D { d4 d d d } } \new Voice { \removeWithTag #'B \removeWithTag #'C \music \removeWithTag #'(B C) \music }
L’ús de dos o més filtres \keepWithTag
sobre una sola
expressió musical produeix l’eliminació de totes les
seccions etiquetades. El primer filtre treu totes excepte la que
es nombra, i qualsevol filtre posterior elimina el reste. Usant
una sola ordre \keepWithTag
amb una llista de diverses
etiquetes se suprimiran sols les seccions etiquetades que no
apareixen especificades a la llista.
music = \relative c'' { \tag #'violiI { a4 a a a } \tag #'violiII { b4 b b b } \tag #'viola { c4 c c c } \tag #'violoncel { d4 d d d } } \new Staff { \keepWithTag #'(violinI violinII) \music }
imprimirà \tag
s violiI i violiII però no
viola o violoncel.
Tot i que \keepWithTag
és útil per a la gestió de un
sol conjunt d’alternatives, l’eliminació de música etiquetada amb
altres etiquetes no relacionades és problemàtica si
s’utilitza per més d’un propòsit. En aquest cas poden declarar-se
‘grups d’etiquetes’:
\tagGroup #'(violiI violiII viola violoncel)
Ara totes les etiquetes pertanyen a un sol ‘grup d’etiquetes’. Observeu que les etiquetes individuals no poden ser membres de més d’un grup d’etiquetes.
\keepWithTag #'violiI …
mostrarà sols la música etiquetada a partir del grup d’etiquetes
de violiI
i qualsevol fragment musical etiquetada amb una
de les altres etiquetes resultarà suprimit.
music = \relative { \tagGroup #'(violiI violiII viola violoncel) \tag #'violiI { c''4^"violiI" c c c } \tag #'violiII { a2 a } \tag #'viola { e8 e e2. } \tag #'violoncel { d'2 d4 d } R1^"untagged" } \new Voice { \keepWithTag #'violiI \music }
En usar l’ordre \keepWithTag
sols són visibles les
etiquetes dels grups d’aquelles etiquetes que s’inclouen a l’ordre.
A vegades podem desitjar dividir la música en un determinat lloc
dins d’una expressió musical existent. Podem usar
\pushToTag
i \appendToTag
per afegir material davant
o al final dels elements
d’una construcció musical
existent. No tota construcció musical té la part
elements
, però les músiques seqüencials i simultànies són
dues apostes segures:
music = { \tag #'here { \tag #'here <<c''>> } } { \pushToTag #'here c' \pushToTag #'here e' \pushToTag #'here g' \music \appendToTag #'here c' \appendToTag #'here e' \appendToTag #'here g' \music }
Les dues ordres admeten una etiqueta, el material que divideix en cada aparició de l’etiqueta, i l’expressió etiquetada.
Vegeu també
Manual d’aprenentatge: Organitzar les peces mitjançant variables.
Referència de la notació: Combinació automàtica de les parts, Inclusió de fitxers del LilyPond.
Advertiments i problemes coneguts
En cridar a \relative
sobre una expressió musical obtinguda
mitjançant el filtratge de música amb les ordres
\keepWithTag
o \removeWithTag
, podria passar que
canviessin les altures de les notes que efectivament romanen a
l’expressió filtrada. L’aplicació de \relative
en primer
lloc, abans de \keepWithTag
o de \removeWithTag
,
evita aquest perill perquè en aquest cas
\relative
actua sobre totes les notes tal i com s’introdueixen.
[ << Entrada i sortida generals ] | [Top][Contents][Index] | [ Gestió de l’espai >> ] |
[ < Ús de les variables ] | [ Up : Diferents edicions a partir d’una mateixa font ] | [ Ús d’ajustaments globals > ] |