5.3.2 Mida dels objectes

Començarem examinant un altre cop un exemple anterior (vegeu Niuat d’expressions musicals) que ens mostrava com introduir un pentagrama temporal, com a un ossia.

\new Staff ="main" {
  \relative {
    r4 g'8 g c4 c8 d |
    e4 r8
    <<
      { f8 c c }
      \new Staff \with {
        alignAboveContext = "main" }
      { f8 f c }
    >>
    r4 |
  }
}

[image of music]

Els fragments d’Ossia s’escriuen normalment sense clau ni compàs, i en general s’imprimeixen més petits que el pentagrama principal. Ja sabem com treure la clau i el compàs: simplement establim el segell de cadascú d’ells a #f, como segueix:

\new Staff ="main" {
  \relative {
    r4 g'8 g c4 c8 d |
    e4 r8
    <<
      { f8 c c }
      \new Staff \with {
        alignAboveContext = "main"
      }
      {
        \omit Staff.Clef
        \omit Staff.TimeSignature
        { f8 f c }
      }
    >>
    r4 |
  }
}

[image of music]

on el parell de claus addicionals després de l’ordre \with són necessàries per assegurar que la sobreescriptura envoltada i la música s’apliquen al pentagrama d’ossia.

Però, quina és la diferència entre modificar el context de pentagrama usant \with i modificar els segells de clau i de compàs amb \override, o en aquest cas \omit? La diferència principal és que els canvis que es realitzen a una ordre \with es fan en el moment que es crea el context, i romanen actiu com a valors predeterminats durant tota la duració d’aquest context, mentre que les ordres \set o \override incloses dins de la música són dinàmiques: fan canvis sincronitzats amb un punt concret de la música. Si els canvis es desfan o es reverteixen mitjançant \unset o \revert tornaran al seu valor predeterminat que serà l’establert a l’ordre \with, o si no s’ha establert cap valor en aquest lloc, els valors predeterminats normals.

Certes propietats de context es poden modificar sols dins de les ordres \with. Són aquelles propietats que no es poden canviar després que el context s’hagi creat. alignAboveContext i el seu company, alignBelowContext, són dos d’aquestes propietats: un cop que el pentagrama s’ha creat, la seva alineació està decidida i no tindria sentit intentar canviar-la més tard.

Els valors predeterminats de les propietats dels objectes de presentació també es poden establir dins d’ordres \with. Simplement utilitzeu l’ordre \override normal deixant a part el nom del context, ja que està definit sense ambigüitat com el context que l’ordre \with està modificant. De fet, es produirà un error si s’especifica un context en aquest lloc.

Així doncs, podem reemplaçar l’exemple anterior amb

\new Staff ="main" {
  \relative {
    r4 g'8 g c4 c8 d |
    e4 r8
    <<
      { f8 c c }
      \new Staff \with {
        alignAboveContext = "main"
        % Don't print clefs in this staff
        \override Clef.stencil = ##f
        % Don't print time signatures in this staff
        \override TimeSignature.stencil = ##f
      }
      { f8 f c }
    >>
    r4 |
  }
}

[image of music]

Resulta que també podem usar aquí les abreviatures \hide i \omit per fixar la propietat transparent i esborrar el stencil, el que condueix al resultat següent:

\new Staff ="principal" {
  \relative {
    r4 g'8 g c4 c8 d |
    e4 r8
    <<
      { f8 c c }
      \new Staff \with {
        alignAboveContext = "principal"
        % No imprimeixis claus en aquest pentagrama
        \omit Clef
        % No imprimeixis indicacions de compàs en aquest pentagrama
        \omit TimeSignature
      }
      { f8 f c }
    >>
    r4 |
  }
}

[image of music]

Finalment arribem a la forma de canviar la mida dels objectes de presentació.

Certs objectes de presentació es creen com glifs trets d’un tipus de lletra. Entre ells es troben els caps, alteracions, elements de marcatge, claus, indicacions de compàs, indicacions dinàmiques i la lletra de les cançons. La seva mida es canvia mitjançant la modificació de la propietat font-size, com veurem en breu. Altres objectes de presentació, com ara lligadures d’unió i d’expressió (en general, objectes d’extensió) es dibuixen individualment, per la qual cosa no hi ha una mida de tipus de lletra font-size associat amb ells. Aquests objectes generalment deriven la seva mida dels objectes als quals estan adjuntats, i per això normalment no hi ha necessitat de canviar-los la mida manualment. A més a més, altres propietats com la longitud de les pliques i les barres de compàs, el gruix de les barres de corxera i altres línies, i la separació de les línies del pentagrama, s’han de modificar d’altres maneres especials.

Tornant a l’exemple de l’ossia, canviarem en primer lloc la mida del tipus de lletra. Podem fer-lo de dues formes. Podem canviar la mida dels tipus de lletra de cadascú dels tipus d’objecte com els caps (NoteHeads) amb instruccions com ara:

\override NoteHead.font-size = #-2

o podem canviar la mida de tots els tipus de lletra establint una propietat especial, fontSize, utilitzant \set, o mitjançant la seva inclusió dins d’una ordre \with (però sense el \set).

\set fontSize = #-2

Els dos enunciats produirien una reducció de la mida del tipus de lletra en dos passos a partir del seu valor previ, on cada pas redueix o augmenta la mida aproximadament en un 12%.

Ho provarem al nostre exemple de l’ossia:

\new Staff ="main" {
  \relative {
    r4 g'8 g c4 c8 d |
    e4 r8
    <<
      { f8 c c }
      \new Staff \with {
        alignAboveContext = "main"
        \omit Clef
        \omit TimeSignature
        % Redueix totes les mides de tipus de lletra per ~24%
        fontSize = #-2
      }
      { f8 f c }
    >>
    r4 |
  }
}

[image of music]

Encara no està massa bé. Els caps i les pliques de les notes són més petits, però les pliques són massa llargues en proporció, i les línies del pentagrama estan massa separades entre sí. S’ha de reduir la seva escala en proporció a la reducció del tipus de lletra. El següents apartat tracta sobre com es fa això.


Manual d’aprenentatge del GNU LilyPond v2.25.22 (development-branch).