Texte d'octaviation d'une clef

Bonjour,

Je souhaite changer l'indication "8" d'une clef octaviée en "8vb". Le code suivant compile, mais le \override n'est d'aucun effet. Où est mon erreur ?

{
\once \override Staff.ClefModifier.text = "8vb"
\clef "bass_8"
c1
}

Merci pour votre aide et cordialement,
Jean Abou Samra

Ce n’est pas une erreur, c’est LilyPond qui est bizarrement codé sur
ce point précis :
https://lists.gnu.org/archive/html/bug-lilypond/2018-08/msg00028.html

Le premier message de cette discussion donne une astuce pour y
parvenir malgré cela.

V.

···

On 1/27/20, Jean Abou Samra <****@****> wrote:

Je souhaite changer l'indication "8" d'une clef octaviée en "8vb". Le code
suivant compile, mais le \override n'est d'aucun effet. Où est mon erreur ?

Effectivement, le code ci-dessous devrait fonctionner, mais ce n'est pas le
cas et ça semble être un bug:
http://lilypond.1069038.n5.nabble.com/override-ClefModifier-text-has-no-effect-td215566.html

%%%%%%%%%%%%%
\version "2.18.2"
{
   \override Staff.ClefModifier.stencil = #ly:text-interface::print
\override Staff.ClefModifier.text = \markup {"8vb"}

\clef "bass_8"
c1
}

···

--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

Bonjour,
Merci pour vos deux réponses, ce code fonctionne effectivement :
{
\override Staff.ClefModifier.before-line-breaking =
#(lambda (grob)
(ly:grob-set-property! grob 'text "8va"))
\clef "treble^8"
R1
}

Mais… pour mettre « 8ba » en dessous de la clé ?

Merci,
Jean Abou Samra

Bonjour,

En utilisant "_" (au lieu de "^") pour mettre en dessous.

{
\override Staff.ClefModifier.before-line-breaking =
#(lambda (grob)
(ly:grob-set-property! grob 'text "8ba"))
\clef "treble_8"
R1
}

À noter : la solution de Pierre en modifiant la propriété "stencil" plutôt que "before-line-breaking", je ne sais pas si cela apporte des avantages.

{
\once \override Staff.ClefModifier.stencil =
#(lambda (grob) (grob-interpret-markup grob #{ \markup "8ba" #}))
\clef "treble_8"
R1
}

https://lists.gnu.org/archive/html/lilypond-user/2019-02/msg00510.html

Cordialement,
Xavier

···

On Thu, 30 Jan 2020 at 20:08, Jean Abou Samra <****@****> wrote:

Bonjour,
Merci pour vos deux réponses, ce code fonctionne effectivement :
{
\override Staff.ClefModifier.before-line-breaking =
#(lambda (grob)
(ly:grob-set-property! grob 'text "8va"))
\clef "treble^8"
R1
}

Mais… pour mettre « 8ba » en dessous de la clé ?

--
Xavier Scheuer <****@****>

Argh, c'était absolument évident !
Merci pour votre patience, et bonne soirée.
Jean Abou Samra

PS : Je ne peux pas tester dans l'immédiat mais modifier le stencil écrase normalement tout ce qui existe, alors qu'il est possible que l'astuce du before-line-breaking prenne en compte d'autres propriétés. Mais cela est ici marginal.

···

Le 30 janvier 2020 à 20:32, Xavier Scheuer <****@****> a écrit :

Bonjour,

En utilisant "_" (au lieu de "^") pour mettre en dessous.