[ << Nouveautés en matière de notation spécialisée ] | [Top][Contents] | [ >> ] |
[ < Améliorations pour les musiques du monde ] | [ Up : Top ] | [ > ] |
Autres améliorations diverses
- La nouvelle fonction Scheme
ly:number->duration
convertit une durée exprimée unité relative de ronde enly:duration
. Le log, le nombre de points et le facteur d’échelonnement sont déterminés automatiquement. - Les commandes de markup
\hspace
et\vspace
permettent d’insérer de l’espace, qui peut être négatif. Les autres objets sont déplacées en conséquence. Ce déplacement peut s’indiquer par une flêche qui s’imprimera à l’aide de la nouvelle commandeannotate-moving
. Il est à noter que ces flêches ne reflètent pas l’étendue réelle des objets créés par\vspace
et\hspace
; on pourrait utiliser\box
à cette fin.\markup { left \annotate-moving \hspace #4 right \column { top \annotate-moving \vspace #-4/3 bottom } }
- La nouvelle commande
\contextPropertyCheck
vérifie qu’une propriété est définie à une valeur attendue ou n’est pas définie dans un contexte spécifique. - Un certain nombre de propriétés de contexte qui jusqu’à présent
reposaient sur
ly:moment
prennent dorénavant des nombres rationnels. Afin de facilité cette transition, chaque propriété numérique est appairée avec une propriété de secoursly:moment
. L’utilisation d’une propriété de secours accède de manière transparente à la propriété numérique et déclenche un avertissement.Propriété de contexte obsolète Nouvelle propriété de contexte baseMoment
beatBase
completionUnitAsMoment
completionUnit
gridIntervalAsMoment
gridInterval
measureLengthAsMoment
measureLength
minimumPageTurnLength
pageTurnMinimumRestLength
minimumRepeatLengthForPageTurn
pageTurnMinimumRepeatLength
proportionalNotationDurationAsMoment
proportionalNotationDuration
tempoWholesPerMinuteAsMoment
tempoWholesPerMinute
tupletSpannerDurationAsMoment
tupletSpannerDuration
voltaSpannerDurationAsMoment
voltaSpannerDuration
-
\tempo dur = min - max
déterminait la propriété de contextetempoWholesPerMinute
après arrondi à l’entier le plus proche. Ceci n’est plus le cas. Par voie de conséquence, le tempo MIDI peut être modifié dans certains cas. - Les fonctions Scheme
duration-length
etly:duration-length
ont été respectivement renommées enly:duration->number
etly:duration->moment
. - La nouvelle fonction Scheme
ly:parser-append-to-include-path
ajoute son argument au chemin de recherche courant de l’analyseur. - La valeur de la propriété de contexte
timeSignatureSettings
utilise désormais le symbolebeatBase
en remplacemeent debaseMoment
.convert-ly
n’est pas en mesure de traiter ce changement. - L’inclusion d’images PNG est désormais possible à l’aide de la commande
de markup
\image
. Ceci vient en supplement de la commande\epsfile
pour les images EPS.La commande
\image
traîte aussi bien les images PNG que EPS, à ceci près que la commande\image
insère un fond blanc, contrairement à\epsfile
. - La nouvelle commande de markup
\qr-code
permet d’insérer un QR-code de la taille spécifiée pour l’URL correspondante. Ceci peut servir à fournir un lien vers le site du compositeur ou de l’éditeur, ou bien vers les sources LilyPond ou des enregistrements, etc.\markup \qr-code #10 "https://lilypond.org"
- Des parenthèses pour texte de markup ont été ajoutées aux fontes Emmentaler, pour s’harmoniser avec les nombres (contrairement à celles déjà disponibles pour les altérations).
- Ont été ajoutés à la fonte Emmentaler les glyphes figure-dash (U+2012), en-dash (U+2013) (quart de catradin) et slash (U+002F).
- Une espace pour nombres (U+2007), une espace fine (U+2009) et une espace ultrafine (U+200A) ont été ajoutées à la fonte Emmentaler.
- L’option
-dinclude-settings
peut désormais apparaître à plusieurs reprises, afin de pouvoir inclure différentes feuilles de style. - Dans l’utilisation conjointe de LaTeX et
lilypond-book
, les images au fil du texte sont désormais décalées verticalement. Ce décalage peut se contrôler en ligne de commande à l’aide de l’option --inline-vshift et, localement, en ajoutantinline
en argument aux options de l’extrait. - Il est possible d’utiliser en ligne de commande les diverses options de
musicxml2ly
en tant qu’options de la commandemusicxmlfile
delilypond-book
. Bien que disponible depuis la version 2.15.9 publiée en 2011, ceci n’était jusqu’alors pas documenté. - Deux nouvelles options en ligne de commande font leur apparition :
-dfirst and -dlast. Elles sont équivalentes aux
réglages respectifs de
showFirstLength
etshowLastLength
dans un fichier LilyPond. Par exemple, taperlilypond -dlast=R1*5 ...
aura pour résultat que LilyPond génèrera seulement les cinq dernières mesure (partant du principe d’une métrique à 4/4).
- Est désormais disponible un nouveau manuel constituant un index de tous les objets graphiques (grobs) de LilyPond. Il est basé sur le travail de Joram Berger pour LilyPond 2.19.
- LilyPond prend en charge les annotations au fil du texte, autrement dit des sortes de notes de bas de page entre les systèmes. Bien que ce ne soit pas nouveau, puisque disponible depuis la version 2.15.17 publiée en 2011, cette possibilité n’était pas si stable et manquait de documentation jusqu’à présent.
- Le script
lilysong
a été supprimé. En dehors du fait qu’il ne disposait d’aucune documentation, il n’était plus maintenu depuis fort longtemps. De plus, il reposait sur un programme externe de synthèse vocale –festival
– laissé à l’abandon. - Deux nouveaux styles sont disponibles pour la propriété d’objet
graphique
space-alist
:shrink-space
etsemi-shrink-space
. Ils contractent les espaces au lieu de les étendre. Ils sont aussi directement utilisés par LilyPond afin d’améliorer le formatage des portées resserrées. - Le binaire
lilypond
dispose d’une nouvelle option en ligne de commande, -dstaff-size, pour régler la taille globale des portées. Elle est équivalente à la présence d’unset-global-staff-size
dans un fichier LilyPond. - En remplacement des fonctions
\bookOutputName
et\bookOutputSuffix
, nous recommandons dorénavant l’utilisation des variables de papieroutput-filename
etoutput-suffix
. Bien que les premières restent pleinement fonctionnelles, ces dernières sont plus cohérentes et facilement compréhensibles, notamment si elles sont combinées avec des variables de papier prédéfinies. - La propriété
Stem.details.lengths
accepte maintenant des paires en tant qu’éléments de liste. Ceci permet de définir séparément les longueurs de hampe ascendante ou descendante. - La fonction
ly:self-alignment-interface::aligned-on-x-parent
– utilisée par de nombreux objets graphiques pour calculer leur x-offset – écoute désormais la nouvelle propriétéX-alignment-extent
dePaperColumn
. Activée par défaut, elle fournit une largeur de secours au grobPaperColumn
dans le cas où il ne contiendrait pas de tête de note. Ceci permet d’aider à l’alignement des scripts de nuance attachés à des silences invisibles, entre autres.music = \new Staff << { f'2 g'2 } { s4\f s\f s\f s\f } >> \score { \music } \score { \music \layout { \context { \Score \override PaperColumn.X-alignment-extent = ##f } } }
- Les objets
BassFigureContinuation
prennent désormais en charge lahorizontal-line-spanner-interface
. La propriétépadding
a été remplacée par des sous-propriétés correspondantes dansbound-details
. - La commande de markup
\align-on-other
accepte désormais la valeur#f
pour l’alignement, indiquant le point de référence d’un markup. - Une nouvelle fonction
\withRelativeDir
est désormais disponible pour les commandes de markup qui incluent des fichiers lorsque ces fichiers devraient se trouver relativement au fichier source. Par exemple :\markup { \image #X #3 \withRelativeDir "test.png" }
- Le positionnement des crochets horizontaux d’analyse a été amélioré.
En particulier, l’objet
HorizontalBracket
a désormais une valeur deoutside-staff-priority
fixée à 800. Par conséquent, il se pourrait que des crochets imbriqués voient leur positionement modifié. Ceci peut se corriger en ajustant les valeurs deoutside-staff-priority
par un\tweak
, tout en sachant que le crochet externe doit garder une valeur de priorité supérieure. - La nouvelle fonction Scheme
to-staff-space
permet de convertir des dimensions absolues (exprimées en diverses unités) en unités d’espace de portée. Par exemple :top-markup-spacing.basic-distance = #(to-staff-space 2 'cm) % l'unité par défaut est le point (pt) \markup \override #`(baseline-skip . ,(to-staff-space 20)) \column { foo bar }
- Les deux nouvelles fonctions de markup
\abs-hspace
et\abs-vspace
permettent de déterminer des dimensions absolues qui subsistent quelle que soit la taille de portée en cours. - Les données émises par l’option en ligne de commande -dshow-available-fonts sont désormais envoyées sur la sortie standard.
- La fonction
ly:font-config-display-fonts
accepte désormais un argument optionnel pour sélectionner le port de sortie. - La gestion des options Scheme en ligne de commande gagne en
robustesse. Quelques changements mineurs ont été rendus nécessaires par
cette nouvelle implémentation.
- Sur la ligne de commande, l’argument à l’option -dpaper-size ne
nécéssite plus d’être mis entre guillemets. En d’autres termes,
mentionner
-dpaper-size=a3
est tout à fait valide. - L’option pixmap-format requiert désormais une valeur sous forme
de chaîne, non plus un symbole. Rien ne change pour la ligne de
commande, mais un appel tel que
#(ly:set-option 'pixmap-format 'pngalpha)
devra être changé en
#(ly:set-option 'pixmap-format "pngalpha")
Il en va de même pour les options separate-page-formats et tall-page-formats. Notez que
convert-ly
se charge d’effectuer la modification automatiquement.
- Sur la ligne de commande, l’argument à l’option -dpaper-size ne
nécéssite plus d’être mis entre guillemets. En d’autres termes,
mentionner
- La
side-position-interface
dispose de deux nouvelles propriétés,X-padding
etminimum-X-space
, aux fins de contrôler le décalage horizontal et la distance minimale d’un grob avec son objet parent, indépendamment du décalage vertical et de la distance minimale. Ceci se révèle utile pour des objets tels queFingering
qui peuvent avoir un attachement à une tête de note tant dans la verticalité que l’horizontalité, et dont le décalage dans chacun des axes peut requérir des valeurs différentes. -
\pushContextProperty
et\popContextProperty
sont deux nouvelles commandes permettant de manipuler les propriétés de contexte. La première insère la valeur courante dans une pile et définit une nouvelle valeur, alors que la seconde suprime cette valeur de la pile et restaure la valeur initiale.{ c' \pushContextProperty Staff.fontSize \set Staff.fontSize = 3 c' \pushContextProperty Staff.fontSize \set Staff.fontSize = 6 c' \popContextProperty Staff.fontSize c' \popContextProperty Staff.fontSize c' }
- La nouvelle propriété d’objet graphique
whiteout-color
permet de définir la couleur de mise en surbrillance. Dans la même veine, la commande de markup\whiteout
attend une propriétécolor
pour faire de même. - Le script
musicxml2ly
a été complètement remanié afin de mieux convertir les fichiers MusicXML en LilyPond. Il prend désormais en charge plus de fonctionnalités et éléments MusicXML et tente d’être plus fiable dans la conversion afin de respecter au mieux l’apparence originelle.Voici une liste des quelques changements notables, exception faite des corrections de bogue.
- Le script est beaucoup plus rapide.
- Le chevauchement et l’imbrication des liaisons fonctionnent comme on est en droit de s’y attendre.
- Meilleure prise en charge automatique pour contrecarrer l’infâme ticket 34 de LilyPond (problème de synchronisation avec une appogiature en début de pièce avec plusieurs portées).
- Prise en charge des trémolos sur deux hampes et n-olets imbriqués.
- Prise en charge de la couleur et de la taille de fonte pour la plupart des éléments MusicXML. Une nouvelle option en ligne de commande --dynamics-scale aide à compenser les différences de taille des glyphes de nuance pour diverses fonte musicales.
- Prise en charge correcte des fins d’octaviation pour les fichiers
MusicXML créés par Finale. Le script vérifie l’élément
<software>
pour déterminer le logiciel de notation utilisé. On peut y déroger si nécessaire à l’aide de l’option en ligne de commande --ottavas-end-early. - L’option --shift-meter a été remplacée par l’option --shift-durations qui utilise une syntaxe plus simple.
- La nouvelle option en ligne de commande --no-tagline supprime la génération de la tagline de LilyPond.
- La nouvelle option en ligne de commande --book encapsule
la partition de premier niveau dans un
\book
. - Les numéros de mesure insérés en commentaire dans le fichier LilyPond créé sont conformes, leur valeur indiquant la mesure précédente.
- La commande de markup
\page-ref
dispose d’une nouvelle propriétéx-align
destinée à contrôler l’alignement horizontal de la jauge de remplacement.\markup { \box \page-ref #'foo "???" "?" " aligné à droite (par défaut)" } \markup { \box \override #`(x-align . ,LEFT) \page-ref #'foo "???" "?" " aligné à gauche" } \markup { \box \override #'(x-align . -2.5) \page-ref #'foo "???" "?" " repoussé sur la gauche" }
Pour des annonces plus anciennes, rendez-vouz aux pages https://lilypond.org/doc/v2.22/Documentation/changes/, ou remontez à l’index de la documentation.
[ << Nouveautés en matière de notation spécialisée ] | [Top][Contents] | [ >> ] |
[ < Améliorations pour les musiques du monde ] | [ Up : Top ] | [ > ] |