5.3.3 Lunghezza e spessore degli oggetti

Distanze e lunghezze in LilyPond sono misurate generalmente in staff-space, ovvero la distanza tra linee adiacenti del rigo (o talvolta la metà di uno spazio rigo), mentre gran parte delle proprietà che controllano lo spessore (thickness) sono misurate con l’unità di misura di una proprietà interna chiamata line-thickness. Ad esempio, lo spessore predefinito delle linee delle forcine è di 1 unità di line-thickness, mentre lo spessore (thickness) di un gambo di nota è 1.3. Si noti che alcune proprietà dello spessore sono diverse; per esempio, lo spessore delle travature è controllato dal valore della proprietà beam-thickness, che si misura in staff-space.

Dunque come si possono scalare le lunghezze in proporzione alla dimensione del carattere? È possibile ricorrendo a una funzione speciale chiamata magstep, che serve proprio a questo scopo. Prende un argomento, la modifica della dimensione del tipo di carattere (#-2 nell’esempio precedente) e restituisce un fattore di ridimensionamento adatto a ridurre gli altri oggetti proporzionalmente. Si usa in questo modo:

\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
        fontSize = #-2
        % Riduce proporzionalmente la lunghezza dei gambi e la spaziatura tra le linee
        \override StaffSymbol.staff-space = #(magstep -2)
      }
      { f8 f c }
    >>
    r4 |
  }
}

[image of music]

Dato che la lunghezza dei gambi e molte altre proprietà relative alla lunghezza sono sempre calcolate in relazione al valore della proprietà staff-space, anche queste sono automaticamente ridimensionate in lunghezza. Nota che ciò riguarda solo la scala verticale dell’ossia – la scala orizzontale è determinata dalla formattazione della musica principale perché deve restare sincronizzata con quest’ultima, quindi le modifiche di dimensione non la riguardano. Ovviamente, se la scala di tutta la musica principale venisse cambiata allora la spaziatura orizzontale cambierebbe. Tratteremo questo argomento più avanti, nella parte relativa alla formattazione.

Questo completa la creazione dell’ossia. Le dimensioni e le lunghezze di tutti gli altri oggetti possono essere modificati in modi analoghi.

Per piccole modifiche della dimensione, come nell’esempio precedente, non sono necessari solitamente degli aggiustamenti globali dello spessore delle varie linee disegnate (come stanghette, travature, forcine, legature di portamento, etc.). Se si deve aggiustare lo spessore di un particolare oggetto di formattazione, è meglio sovrascrivere la sua proprietà thickness. Un esempio di come modificare lo spessore delle legature di portamento è stato mostrato prima in Proprietà degli oggetti di formattazione. Lo spessore di tutti gli oggetti disegnati (ovvero quelli non prodotti da un tipo di carattere) può essere cambiato nello stesso modo.


Manuale di apprendimento di LilyPond v2.25.22 (development-branch).