LilyPond — Nouveautés
|
Ce document recense les modifications et les nouvelles fonctionnalités de LilyPond pour la version 2.23.13 (depuis la 2.22). |
Nouveautés en matière de notation musicale
Améliorations de la représentation des hauteurs
-
La prise en charge d’altérations alternatives s’améliore. Grâce à la
propriété
alterationGlyphsdes contextes de niveau portée, peuvent se définir globalement les glyphes à utiliser pour tous les objets – voir Glyphes d'altération alternatifs. -
Dans le cadre de la fonte Emmentaler, les têtes de notes dont l’aspect
est identique et pour lesquelles la seule différence réside dans
l’orientation de leur hampe ont été consolidées en un glyphe unique. Par
exemple, les glyphes
noteheads.u2triangleetnoteheads.d2triangleont été remplacés par le seul glyphenoteheads.s2triangle. Les paires de tête de note ayant un aspect différent selon l’orientation de la hampe conservent leur distinction.Par ailleurs, la propriété
stem-attachmentdes objets graphiquesNoteHeadrenvoie le point d’attachement réel selon l’orientation de hampe en lieu et place d’un hypothétique point d’attachement d’une hampe ascendante. -
Les crochets d’octaviation peuvent s’appliquer à une seule voix plutôt
qu’à l’intégralité de la portée. Ceci demandait auparavant quelques
circonvolutions.
\layout { \context { \Staff \remove Ottava_spanner_engraver } \context { \Voice \consists Ottava_spanner_engraver } }
Améliorations en matière de rythme
-
Le
Bar_engraverinterdisait jusqu’à présent un saut de ligne entre deux barres de mesure ; il ne le fait dorénavant que lorsque la propriété de contexteforbidBreakBetweenBarLinesest activée (réglée à#t), ce qui est le cas par défaut. -
En raison de modifications dans le fonctionnement interne de
l’instruction
\bar, il n’est désormais plus possible de l’instancier avant la création de contextes inférieurs par un\newsous peine de créer une portée intempestive comme lors de l’utilisation de commandes telles que\override Staff…(voir Apparition d'une portée supplémentaire).{ \bar ".|:" << \new Staff { c' } \new Staff { c' } >> }
La solution consiste à placer le
\barau sein même de la musique dans chaque portée, comme c’est généralement le cas pour la plupart des commandes.<< \new Staff { \bar ".|:" c' } \new Staff { \bar ".|:" c' } >>
-
Les numéros de mesure peuvent se présenter au centre de la mesure comme
il est d’usage dans les musiques de film.
\layout { \context { \Score centerBarNumbers = ##t barNumberVisibility = #all-bar-numbers-visible } } << { \repeat unfold 3 { c'4 d' e' f' } } { \repeat unfold 3 { c'4 d' e' f' } } >>
-
Les compteurs de mesures prennent en considération les mesures à
compter et les alternatives.
-
\numericTimeSignatureet\defaultTimeSignatures’appliquent désormais en même temps à toutes les portées – plus précisément à toutes les portées d’un même contexteTiming– afin de correspondre au comportement de\time. -
Le nouveau
Mark_tracking_translatorprend le pas sur leMark_engraveren matière de décision quant à la création d’une marque. LeMark_engraverse charge toutefois de contrôler la mise en forme et le positionnement vertical du repère.Par défaut, des
Mark_engraversdans de multiples contextes créent une séquence commune de repères. Lorsque des séquences indépendantes sont préférables, il faut utiliser plusieursMark_tracking_translator. -
La commande
\enablePolymeteragit comme un raccourci lors de la saisie pour déplacer les graveurs selon le besoin et permettre d’avoir différentes métriques en parallèle. Le code :\layout { \context { \Score \remove Timing_translator \remove Default_bar_line_engraver } \context { \Staff \consists Timing_translator \consists Default_bar_line_engraver } }peut ainsi s’abréger en :
\layout { \enablePolymeter }Par ailleurs, le
Default_bar_line_engravera été supprimé. -
Au lieu de répéter le nom de glyphe en cours de ligne,
\defineBarLineaccepte désormais la valeur#t. -
Le type de barre de mesure
"-"a été supprimé.convert-lyle convertit en"". Il en résulte une légère différence dans l’espacement horizontal lors d’un saut de ligne. -
automaticBarsa été supprimé.convert-lyconvertitautomaticBars = ##fenmeasureBarType = #'(). -
L’instruction
\bar ","crée une barre de mesure raccourcie.
Améliorations en matière d’expressivité
-
Le positionnement des extensions de trille peut désormais se spécifier
comme pour toute indication d’articulation, autrement dit à l’aide de
_\startTrillSpanou^\startTrillSpan. -
L’apparence des extensions de trille a été modifiée pour mieux
correspondre aux conventions classiques de la gravure. L’extension
s’arrête désormais juste avant la note qui suit, sans la chevaucher. Ce
sera juste avant l’altération si la note qui suit en est pourvue, et au
niveau de la barre si la prochaine note est dans la mesure suivante.
-
Les événements attachés à des notes, tels que nuances ou articulations,
peuvent être différés d’une durée arbitraire à l’aide de
\after. Ceci permet de simplifier de nombreuses situations qui jusqu’alors demandaient de recourir à une polyphonie et des silences invisibles.{ \after 2 \turn g'2. a'4 \after 2 \< b'1 \after 2. \f c'' <>\< \after 4 \> \after 2\! d'' }
-
Les terminaisons des soufflets peuvent désormais s’aligner sur la
gauche, au centre ou sur la droite des grobs
NoteColumnà l’aide d’une dérogation à la propriétéendpoint-alignments. -
La nouvelle commande
\vshapese comporte comme\shape, à ceci près qu’elle affiche les points de contrôle et le polygone qui les enveloppe, afin de faciliter les ajustements.{ a1\vshape #'((0 . 0) (0 . 0.5) (0 . 0.9) (0 . 0.4))^( c'1) }
-
La nouvelle propriété de contexte
breathMarkTypesélectionne le marqueur produit par la commande\breatheparmi plusieurs types prédéfinis.\fixed c' { \set breathMarkType = #'tickmark c2 \breathe d2 }
Améliorations en matière de reprises
-
Les alternatives peuvent se placer au sein même du bloc de répétition.
\repeat volta 3 { c'1 \alternative { d' e' } f' }
-
Les numéros d’alternative peuvent se définir à l’aide de la commande
\volta.\repeat volta 3 c'1 \alternative { \volta 1 d' \volta 2,3 e' }
-
La commande
\voltasuprime la musique lorsque la répétition est expansée. -
La commande
\unfoldedajoute la musique lorsque la répétition est expansée. -
La nouvelle commande
\repeat segnopermet de gérer automatiquement un certain nombre de formes da-capo et dal-segno.music = \fixed c' { \repeat segno 2 { b1 } \fine } \score { \music } \score { \unfoldRepeats \music }
-
La nouvelle commande
\fineinsère une barre de mesure finale qui interagit de façon optimale avec les barres de reprise. Placée à l’intérieur d’une reprise, elle ajoute une instruction Fine et termine la musique lorsque les reprises sont expansées.music = \fixed c' { \repeat volta 2 { f1 \volta 2 \fine \volta 1 b1 } } \score { \music } \score { \unfoldRepeats \music }
Améliorations en matière de notation sur la portée
-
La nouvelle fonction Scheme
universal-colorprocure une palette de huit couleurs conçue pour lever certaines ambiguïtés dont souffrent les gens atteints de dyschromatopsie. -
Il est désormais possible de contrôler la largeur et l’aspect de
certains chiffres Emmentaler à l’aide de fonctionnalités OpenType.
-
L’ajout du
Melody_engraverà un contexteVoiceprend désormais en compte le sens de la mélodie pour orienter la hampe de la note sur la ligne médiane. Il fallait auparavant apporter une dérogation spécifique à la propriétéStem.neutral-direction.\new Voice \with { \consists Melody_engraver } \relative c'' { \autoBeamOff g8 b a e g b a g | c b d c b e d c | }
La propriété de contexte
suspendMelodyDecisionspermet de désactiver temporairement ce comportement, tout comme le faisait\override Stem.neutral-direction = #DOWN. -
L’instruction
\bar ""n’est plus un préalable à l’affichage du numéro de la première mesure. Il suffit désormais de régler la propriétébarNumberVisibilityàall-bar-numbers-visibleou l’un des autres réglages pour lesquels le premier numéro de mesure est visible.Notez bien qu’il s’agit d’un changement de comportement pour les partitions dans lesquelles
barNumberVisibilityest réglé àall-bar-numbers-visibleou équivalent etBarNumber.break-visibilityactivé sans avoir de\bar "". Un numéro de mesure est désormais affiché au début. Il s’agit bien du comportement attendu (tous les numéros devraient être visibles) mais, en raison d’une documentation probablement pas assez explicite, certains utilisateurs ont opté pour ces réglages afin d’afficher les numéros de mesure en cours de portée sauf pour la première mesure. En pareil cas, il convient de tout simplement supprimer la clause\set Score.barNumberVisibility = #all-bar-numbers-visiblepuisque\override BarNumber.break-visibility = ##test le réglage approprié et suffisant. -
Les types de barre prédéfinie qui suivent n’apparaissent plus sous
forme de simple barre lorsqu’ils surviennent en fin de ligne. Des types
de barre annotée, tel que
\bar "S-|", ont été ajoutés en conséquence.
Améliorations en matière d’annotations éditoriales
-
Les nouvelles commandes
\staffHighlightet\stopStaffHighlightpermettent de coloriser des fragments musicaux. -
Il est désormais possible de placer un accord entre parenthèses.
Toutefois, la taille de la fonte utilisée pour les parenthèses devra
être ajustée manuellement.
-
Les objets étendus ou bandeaux peuvent être mis entre parenthèses.
-
Une version « temporelle » de la commande
\parenthesizeest disponible. Elle prend en considération le chemin vers un objet graphique :\parenthesize NomGrobou\parenthesize ContextName.GrobName. Cette commande se comporte comme un\once \override. Cette interface vient en complément de la forme déjà disponible\parenthesize événement, de manière identique à\footnote.{ \parenthesize NoteHead c'1 \parenthesize Staff.KeySignature \key g \major c'1 }
-
En matière de basse chiffrée, il est désormais possible de placer les
altérations entre crochets.
-
La mise en forme des info-bulles est désormais modifiable.
Améliorations en matière de mise en forme du texte
-
\smallCapsest maintenant opérationnel sur tout markup, non plus uniquement sur des chaînes brutes. -
Des textes de remplacement peuvent désormais changer des chaînes dans
tout markup, au lieu de modifier une chaîne en particulier.
\markup \replace #`(("2nd" . ,#{ \markup \concat { 2 \super nd } #})) "2nd time"
-
La commande de markup
\with-string-transformerest désormais disponible. Elle interprète un markup avec l’un des « transformateurs de chaîne » installés. Le transformateur est appelé lorsque l’interprétation du markup requiert l’interprétation d’une chaîne et permet d’opérer des modifications sur cette chaîne, comme par exemple en basculer la casse. -
La commande de markup
\rhythmfait son apparition. Il s’agit d’un moyen simple de mélanger du texte et du rythme comme, par exemple, pour afficher une indication de « swing ».\relative { \tempo \markup { Swing \hspace #0.4 \rhythm { 8[ 8] } = \rhythm { \tuplet 3/2 { 4 8 } } } b8 g' c, d ees d16 ees d c r8 }
-
Sont maintenant disponibles les commandes de markup
\with-true-dimensionet\with-true-dimensions. Elles procurent l’étendue réelle de la surface encrée, qui peut être quelque peu différente de l’étendue par défaut pour certains glyphes en raison des contraintes de régularité du texte. -
Sont maintenant disponibles les deux commandes de markup
\with-dimensionet\with-dimension-from. Elles sont similaires à\with-dimensionset\with-dimensions-from, à ceci près qu’elles permettent de ne jouer que sur une seule des deux dimensions. -
Sont désormais disponibles dans la fonte Emmentaler, des variantes
textuelles pour les glyphes de dièse, bémol, bécarre, double dièse et
double bémol. En mode markup, ils sont accessibles par leur
valeur Unicode standard.
-
La nouvelle commande de markup
\align-on-otherdéplace un markup comme s’il était aligné sur un autre. -
La nouvelle commande de markup
string-linespermet de couper une chaîne à un caractère donné. La coupure intervient par défaut au saut de ligne, et les éventuels espaces sont ignorés. La liste résultante de markups peut faire l’objet d’une mise en forme particulière. Cette fonctionnalité constitue un moyen tout à fait adapté pour ajouter des couplets à une chanson. -
La nouvelle commande
\sectioninsère une double barre qui interagit de manière optimale avec les barres de reprise. Un passage peut être nommé à l’aide de la commande\sectionLabel.\fixed c' { f1 \break \section \sectionLabel "Trio" \repeat volta 2 { b1 } }
-
L’instruction
\markup \pathest désormais également opérationnelle pour une sortie SVG même si le chemin n’est pas initialisé par une commandemovetoourmoveto. Elle accepte par ailleurs les raccourcis équivalents SVG (moveto=M, etc.). -
La fonction
markup->stringconvertit un markup dans une réprésentation approximative de chaîne de caractères. Ceci est utile pour générer des métadonnées PDF ainsi que les paroles et repères en MIDI. Il est donc possible de créer des commandes pour markups personnalisées afin de retraiter les chaînes converties parmarkup->string, comme par exemple#(define-markup-command (upcase layout props arg) (string?) #:as-string (string-upcase arg) (interpret-markup layout props (string-upcase arg)))
Nouveautés en matière de notation spécialisée
Améliorations pour la musique vocale
-
Le nouveau contexte
VaticanaLyricsest similaire au contexteLyrics, à ceci près qu’il fournit un style d’hyphénation utilisé communément dans le style des éditions vaticanes, à savoir un trait d’union simple accolé à la syllabe de gauche.
Améliorations pour les cordes frettées ou non
-
Ajout des accordages pour banjo
banjo-double-cetbanjo-double-d. -
Le nouvel objet graphique
FingerGlideSpannerpermet d’indiquer le glissé d’un doigt sur une corde passant d’une position à une autre. Il peut se présenter sous différentes formes selon le style adopté ; l’image ci-dessous affiche les stylesline,stub-left,stub-rightetstub-both.D’autres styles sont disponibles :
dashed-line,dotted-line,zigzag,trill,bowetnone. -
Le nouvel objet graphique
BendSpannerpermet, dans le cadre d’unTabStaff, d’indiquer une désinance. En plus de l’apparence par défaut sont disponibles les styles'hold,'pre-bendet'pre-bend-hold.
Améliorations pour la notation des percussions
-
Ajout du style de notation pour percussions
weinberg-drums-stylebasé sur les travaux de standardisation de Norman Weinberg.
Améliorations pour la notation des instruments à vent
-
Des détails peuvent désormais s’ajouter à un
\woodwind-diagram, y compris l’angle d’un trou partiellement bouché ou l’indication non graphique d’une clé de trille.\markup { \override #'(graphical . #f) \override #'(woodwind-diagram-details . ((fill-angle . 90) (text-trill-circled . #f))) \woodwind-diagram #'flute #'((cc . (one1h)) (lh . ()) (rh . (besT))) }
Améliorations pour la notation des accords
-
Les grilles harmoniques sont désormais prises en charge.
-
Dans un
ChordNames, les silences multimesure forcent désormais l’apparition du symbole « N.C. » comme pour des silences normaux. -
En matière de basse chiffrée, un
_crée désormais un un chiffre vide occupant de l’espace.\figures { <8 _ 4]> <_ 5+ 3> }
- La mise en forme de la basse chiffrée s’est améliorée. En particulier, sa taille par défaut est réduite à une valeur que l’on retrouve dans nombre d’éditions Urtext de musique baroque.
-
La basse chiffrée utilise désormais par défaut des glyphes dessinés
spécifiquement dans ce cadre, à savoir les
6\\,7\\et9\\. De même, des glyphes spécifiques seront utilisés par défaut en présence d’un signe plus après le chiffre pour les symboles2\+,4\+et5\+.
Améliorations pour les notations anciennes
-
KievanStaff,MensuralStaff,PetrucciStaffetVaticanaStaffacceptent désormais qu’un saut de ligne intervienne n’importe où, sans qu’une barre de mesure""soit créée. -
Le type de barre
"-span|"crée un mensurstrich – impression des lignes de mensuration. -
Dans un
GregorianTranscriptionStaff, les divisiones sont désormais gravées comme des objets graphiques (grobs)BarLine. Pour les modifier en grobsDivisio, il faut mentionner\EnableGregorianDivisiones. -
Les commandes prédéfinies pour les divisions grégoriennes ne sont plus
des variantes de
\breathe.\divisioMinima,\divisioMaior,\divisioMaximaet\virgulasont des variantes d’un\caesurade base.\finaliséquivaut à\section.MensuralStaffetVaticanaStaffont recours auDivisio_engraverpour interpréter ces commandes, ainsi que\repeat voltaet\fine.\new MensuralStaff \fixed c' { \repeat volta 2 { f2 f } g1 a1 \section b1 \fine }
Améliorations pour les musiques du monde
-
LilyPond prend désormais en charge la musique persane. Deux glyphes
d’altération ont été ajoutés à cet effet : sori et koron.
\include "persian.ly" \relative c' { \key d \chahargah bk'8 a gs fo r g ak g | fs ek d c d ef16 d c4 | }
Nouveautés en matière d’entrée et sortie
Améliorations pour la structure
-
Une même définition d’objet graphique peut désormais s’utiliser pour
créer des grobs de classe différente (
Item,Spanner,Paper_column,System). Dans le cadre de cette évolution, les types de grobFootnoteItemetFootnoteSpanneront été rassemblés en un unique typeFootnote. De la même manière,BalloonTextSpanneretBalloonTextItemont été unifiés enBalloonText.Lorsque la définition du grob ne requiert pas de classe, les graveurs doivent décider de la classe à utiliser pour créer le grob. Pour ceux qui créent leurs propres graveurs en Scheme, cela signifie qu’il faudra utiliser soit
ly:engraver-make-item, soitly:engraver-make-spanner. La fonction utilitairely:engraver-make-stickypermet de prendre en charge le cas des sticky grobs tels que notes de bas de page et infobulles. Elle crée un grob de la même classe qu’un autre et gère la parenté et les attachements.
Améliorations pour les titrages et entêtes
-
La syntaxe permettant de gérer des conditions pour les markups a
gagné en flexibilité et en simplicité. Elle utilise les nouvelles
commandes de markup
\ifet\unless. Voici quelques uns des changements apportés :Syntaxe version 2.22
Syntaxe version 2.24
\on-the-fly #first-page …\if \on-first-page …\on-the-fly #not-part-first-page …\unless \on-first-page-of-part …\on-the-fly #(on-page n) …\if \on-page #n …
Améliorations pour les fichiers résultants
-
L’utilisation de
\paper { bookpart-level-page-numbering = ##t}permet d’individualiser la numérotation de page des parties d’un ouvrage. Dans le cas où l’instruction s’applique à toutes les parties, chacune d’entre elles aura sa propre séquence, en partant de 1 par défaut. Cette instruction peut aussi apparaître dans une partie spécifique, comme par exemple un propos liminaire dont la pagination peut accessoirement se présenter en chiffres romains grâce à l’instructionpage-number-type = #'roman-lower. -
L’option
-dembed-source-codepermet maintenant d’embarquer également les images ajoutées par\epsfileainsi que les fichiers inclus par\verbatim-file. -
set-default-paper-sizeetset-paper-sizeacceptent désormais des tailles de papier personnalisées.#(set-default-paper-size '(cons (* 100 mm) (* 50 mm)))
-
lilypond-bookprend en charge deux nouvelles options pour le traitement des extraits : ‘paper-width’ et ‘paper-height’ permettent de déterminer une taille particulière de papier. -
La valeur par défaut de l’option
aux-filesest désormais fixée à#f. Lorsque LilyPond est lancé avec l’argument-dbackend=epset que sont nécessaires les fichiers ‘.tex’ et ‘.texi’, il faut désormais specifier explicitement l’option-daux-files. Les formats pour les imageslilypond-bookpeuvent se définir séparément selon qu’il s’agit de la page (donc une sortie PNG pour du format HTML) ou des images indépendantes par système (pour des formats imprimables EPS ou PDF) à l’aide respectivement des sous-options-dtall-page-formatset-dseparate-page-formats.
Améliorations pour le MIDI
-
Le nouveau
Mark_performercrée des événements MIDI à l’instar duMark_engraverpour les sorties imprimables.
Nouveautés en matière d’espacements
Améliorations pour les sauts de ligne
-
Désormais, la commande
\breakinsère toujours un saut, outrepassant toutes les décisions par défaut quant aux points de rupture. Par exemple, il n’est désormais plus nécessaire d’ajouter\bar ""pour obtenir une rupture en cours de mesure.La nouvelle commande
\allowBreakinsère un point de rupture potentiel, sans le forcer, mais outrepasse les décisions par défaut à l’instar de\break.
Nouveautés en matière de modification des réglages par défaut
-
Les contextes
Staffutilisent désormais le nouveauCaesura_engraverpour réaliser la commande\caesura. -
Le glyphe de virgule stylisé, tel que celui utilisé par la commande
\breathe, adopte une forme plus habituelle. -
Le décalage par défaut des points d’orgue a été élargi. Ceci permet de
pallier certains cas où, en présence d’une note pointée, ils étaient
trop proches des points et des autres objets.
-
Le symbole de flageolet est désormais plus petit et un peu plus épais.
Ceci correspond plus aux partitions que l’on peut trouver et rend
inutile la retouche
\tweak font-size -3 \flageoletjusqu’ici recommandée. -
La deuxième portion des soufflets tronqués bénéficie maintenant d’un
rembourrage à gauche. Ceci est conforme aux canons de la gravure et
règle le problème de décallage vertical qui pouvait intervenir en raison
de l’armure.
\relative { \key a \major c''4^\< c c c \break c c c c\! | }
-
Le glyphe d’accent est un peu plus petit qu’auparavant. Ceci permet de
pallier certains cas où, par exemple, la présence d’un bécarre aurait
déplacé l’accent verticalement.
-
Deux glyphes redondants ont été supprimés des fontes Emmentaler :
scripts.trillelement– utilisezscripts.trill_elementen remplacement – etscripts.augmentum– à remplacer pardots.dotvaticana. -
Les propriétés de
PaperColumnetNonMusicalPaperColumntelle queNonMusicalPaperColumn.line-break-system-detailsacceptent désormais des dérogations au fil de la musique à l’aide d’une simple instruction\once \override. Elles consituaient jusqu’alors une exception, requérant l’utilisation de la commande\overrideProperty. -
La nouvelle fonction de rappel pour objet graphique
break-alignment-listpermet de renvoyer une valeur différente selon le positionnement d’un grob par rapport à une rupture. Elle permet, par exemple, de fournir un alignement du grob différent selon qu’il est positionné en début, en cours de ligne ou à la fin.
Nouveautés en matière d’interfaces et fonctions internes
-
Le script
lilypond-bookautorise désormais l’utilisation d’accolades dans les arguments des commandes\lilypond(pour LaTeX) et@lilypond(pour Texinfo). -
lilypond-bookajoute désormais le répertoire courant comme dernière entrée pour la recherche des fichiers inclus, au lieu de le placer en premier dans la liste des chemins spécifiés. Ainsi, les fichiers situés dans les dossiers d’inclusion prennent le pas sur ceux du même nom dans le répertoire courant. L’effet ne sera visible que dans le cas où existent des fichiers du même nom de part et d’autre. -
lilypond-bookprend en charge la nouvelle option ‘inline’ pour le traitement d’extraits musicaux. Ceci permet de faire apparaître des bribes de partition, comme
au sein même d’un paragraphe de texte.
-
Les traducteurs Scheme peuvent désormais contenir des listeners
libellés ainsi :
(listeners ((event-class engraver event #:once) ...))
Ils ne sont jamais déclenchés plus d’une fois par pas dans le temps. Ils émettront un avertissement lorsqu’ils recevront deux événements dans un même pas, sauf si ces événements sont équivalents.
-
Les traducteurs définis en Scheme et utilisables à la fois dans le cadre
d’un ‘\layout’ et d’un ‘\midi’ peuvent désormais être créés à
l’aide de
make-translator. Les exécutants définis en Scheme, qui ne peuvent s’utiliser que dans un ‘\midi’ se créent à l’aide demake-performer. Ces macros fontionnent tout comme la macro préexistantemake-engraverqui permet de créer un graveur, uniquement utilisable dans un ‘\layout’. -
Les traducteurs définis en Scheme peuvent désormais définir un nouveau
connecteur dénommé
pre-process-music. Celui-ci sera appelé par tous les traducteurs, après tous les listeners mais préalablement aux connecteursprocess-music. Ceci peut s’utiliser pour un traitement qui dépend de l’intégralité des événements entendus mais nécessite de définir des propriétés de contexte avant que d’autres traducteurs les lisent. -
Les nouvelles propriétés
show-horizontal-skylinesetshow-vertical-skylinespermettent d’afficher les lignes d’horizon d’un objet. Ces propriétés sont beaucoup plus flexibles que l’utilisation de l’optiondebug-skylinesdans la mesure où elles sont opérationnelles avec tous les objets graphiques. Bien que prévu à l’origine pour le débogage de LilyPond, ceci s’avère fort utile lorsque l’on tente de comprendre les décisions en matière d’espacement ou la modification de stencils en Scheme.
Pour des annonces plus anciennes, rendez-vouz aux pages https://lilypond.org/doc/v2.22/Documentation/changes/, https://lilypond.org/doc/v2.20/Documentation/changes/, ou remontez à l’index de la documentation.
![[image of music]](2b/lily-4deef8a0.png)
![[image of music]](6b/lily-10deb902.png)
![[image of music]](cd/lily-e8e7f23a.png)
![[image of music]](20/lily-a4be2147.png)
![[image of music]](4c/lily-5b0b0b48.png)
![[image of music]](eb/lily-72b65904.png)
![[image of music]](a7/lily-461c4759.png)
![[image of music]](d6/lily-fb15a80b.png)
![[image of music]](16/lily-b9d054bc.png)
![[image of music]](ce/lily-b22fa0c6.png)
![[image of music]](3c/lily-cff4c1a9.png)
![[image of music]](ad/lily-c6234905.png)
![[image of music]](06/lily-d69a227d.png)
![[image of music]](2f/lily-659c39b4.png)
![[image of music]](f1/lily-b37741b8.png)
![[image of music]](e0/lily-69b36815.png)
![[image of music]](95/lily-c473fb68.png)
![[image of music]](30/lily-331881d8.png)
![[image of music]](02/lily-e0286b9a.png)
![[image of music]](6a/lily-96abbb82.png)
![[image of music]](10/lily-8820c79a.png)
![[image of music]](47/lily-11463c8c.png)
![[image of music]](2e/lily-7f5dc1d7.png)
![[image of music]](6a/lily-0cbd3d02.png)
![[image of music]](56/lily-43b66c4a.png)
![[image of music]](0e/lily-e51790f1.png)
![[image of music]](1e/lily-14570c12.png)
![[image of music]](b1/lily-8f7d1f4f.png)
![[image of music]](d8/lily-294e6b82.png)
![[image of music]](91/lily-ecca53e3.png)
![[image of music]](a7/lily-de7214d2.png)
![[image of music]](2d/lily-e8227fe4.png)
![[image of music]](28/lily-209b4dc4.png)
![[image of music]](4d/lily-ae321351.png)
![[image of music]](d3/lily-632f80b1.png)
![[image of music]](09/lily-0187acec.png)
![[image of music]](2a/lily-ead0e97f.png)
![[image of music]](d0/lily-096a95fe.png)
![[image of music]](bd/lily-a6a3b6ba.png)
![[image of music]](5a/lily-f7061f46.png)
![[image of music]](32/lily-1ef777bd.png)
![[image of music]](54/lily-2a8c5012.png)
![[image of music]](c6/lily-31046c16.png)
![[image of music]](2e/lily-1bfb9299.png)
![[image of music]](5c/lily-986fb68d.png)
![[image of music]](2f/lily-3600f616.png)
![[image of music]](56/lily-b0838c30.png)
![[image of music]](45/lily-28870010.png)
![[image of music]](36/lily-f73f868a.png)
![[image of music]](37/lily-0d649aeb.png)