Bonjour à tous,
Un petit problème à la suite de la dernière mise à jour (2.25.25). J'utilise depuis des années pour mes tablatures des polices personnalisées pour les notes et métrique des morceaux. En temps normal et jusqu'à la version 2.25.23, les parttitions ressemblaient à çà :
Si je fais une mise à jour avec convert.ly le chiffre inférieur de la métrique descend en-dessous de la portée comme ceci :
Dans le cas (moins joli, à mon avis) où je n'utilise pas de fonte personnalisée, le problème ne se pose pas :
Enfin, voici le fichier minimal correspondant à l'exemple :
document.ly (3,1 Ko)
La question est : que faire ? y aurait'il un petit tweak qui irait bien ? ou faut'il attendre une prochaine version et aussi, suis-je le seul chez qui ça arrive ?
Bonne soirée.
JLouis
Bonsoir,
je ne serais répondre si c'est un bug, dérivé des nouveautés
un pt'iy bricolage copie du LSR
https://lsr.di.unimi.it/LSR/Item?id=725
\version "2.25.25"
#(define ((my-time-signature a b) grob)
(grob-interpret-markup grob
(markup #:override '(baseline-skip . 2.5) #:number
(#:line ((markup )
(#:fontsize -1 #:column (a b)))))))
\layout {
\override TabStaff.Clef.stencil = ##f
\override TabStaff.TabNoteHead.font-name = #"PeaMissywithaMarker"
\override TabStaff.TabNoteHead.font-size = # -2
\override TabStaff.TimeSignature.font-size = #9
\override TabStaff.TimeSignature.font-name = #"Dalliance Smallcaps Medium Italic"
\tabFullNotation
\numericTimeSignature
\set ChoirStaff.systemStartDelimiter = #'SystemStartBrace
\set TabStaff.tablatureFormat = #fret-number-tablature-format-banjo
\set TabStaff.stringTunings = \stringTuning < g' d g b d' >
\context {
\TabStaff
\stemDown
\override Flag.stencil = #modern-straight-flag
%\equal-tab-staff-stems -3.2
}
}
%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Melody = \fixed c'{
\time 2/4 \key g\major
d'4 d'8 a8 b8 a8 fis8 a8
a8 b8 d'8 a8 b8 a8 fis8 a8
}
TAB = \fixed c{
\override Score.TimeSignature.stencil = #(my-time-signature "2" "4")
%\time 2/4
\key g\major
d'4 d'8 a8 b8 a8 fis8 a8
a8 b8 d'8 a8 b8 a8 fis8 a8
}
\score {
\new ChoirStaff
<<
\new Staff
<<
{ \Melody }
>>
\new TabStaff
<<
{ \TAB }
>>
>>
}
Bonne soirée
Merci Martial, ça marche parfaitement.
Le problème a sa solution pour les prochaines partitions mais implique une vigilance accrue pour les existantes.
C'est vrai que ça ressemble à un bug lié à cette nouvelle version mais en même temps personne n'a l'air de se plaindre. L'autre phénomène curieux de cette version est que, une fois converti en version 25.25 depuis 25.23 il est impossible d'annuler la conversion le fichier est "plus qu'obsolète et nécessite la version 25.25" il ne peut pas être enregistré non plus. Si je reprend le même fichier 25.23 dans ma sauvegarde il s'ouvre et compile normalement
Encore merci
Bonjour,
de rien,
juste une correction remplacer dans le TabStaff Score.TimeSignature par
TabStaff.TimeSignature
TAB = \fixed c{
\override TabStaff.TimeSignature.stencil = #(my-time-signature "2" "4")
%...etc...
C'est juste la déclaration \version
qui produit cet avertissement. Si vous re-changez la version manuellement en 2.25.23, il disparaîtra. Par contre, si des conversions ont été faites par convert-ly
, il faudra les annuler : convert-ly ne prend pas en charge la conversion d'une version vers une version plus ancienne.
Pour en revenir au sujet, c'est manifestement lié à ce changement : \compound-meter: fix vertical spacing with slashes (8dd9e381) · Validations · LilyPond / LilyPond · GitLab, qui ne fait pas de différence avec une vraie police musicale mais peut effectivement faire une différence avec ce changement de font-name
. Je n'appellerais pas ça un bug parce que la méthode avec font-name
est franchement bourrine dans le cas des armures (disons que c'est un peu normal que le code s'attende à une police musicale pour ces objets, et notamment avec des glyphes de chiffre centrés verticalement, je crois que c'est ça qui fait la différence mais je n'ai pas vérifié). Je suggèrerais de remplacer
\override TabStaff.TimeSignature.font-size = #9
\override TabStaff.TimeSignature.font-name = #"Dalliance Smallcaps Medium Italic"
\tabFullNotation
par quelque chose de plus poli comme
\tabFullNotation
% Doit venir après \tabFullNotation
\override TabStaff.TimeSignature.stencil = #ly:text-interface::print
\override TabStaff.TimeSignature.text =
\markup \override #'(fonts . ((sans . "Liberation Sans")))
\sans \smallCaps \italic \fontsize #6
\override #'(baseline-skip . 0) \center-column { 2 4 }
(j'ai mis Liberation Sans comme police parce que je n'ai pas Dalliance, vous aurez peut-être à ajuster le \fontsize
aussi).