Subject: positionnement de \tempo

From: Olivier Geay <[email-masked]>
Date: Fri, 11 Feb 2022 10:52:48 +0100

Bonjour !

Quand je modifie \mark \default de la façon suivante :

  \offset Y-offset 2 \mark \default

J'obtiens bien un repositionnement de la marque de répétition dans le 
sens de la hauteur ;

J'aimerais déplacer \tempo de la même façon, mais

  \offset Y-offset 2 \tempo 4=110

ne fonctionne pas… quelqu'un peut-il m'expliquer pourquoi ?

D'autre part, si je veux intégrer ces modifications pour qu'elles 
s'appliquent sur tous les fichiers avec un \include … .ily, comment 
dois-je formuler ces modifications dans ce fichier ?

Merci beaucoup d'avance !

(ça fait un bon moment que je cherche, mais sans succès…)

Olivier

---

From: Martial R <[email-masked]>
Date: Fri, 11 Feb 2022 11:09:53 +0100

Bonjour,

\override Score.MetronomeMark.padding = #5

Quand je ne trouve pas dans la doc
je cherche ici
https://lsr.di.unimi.it/LSR/Search?q=MetronomeMark
Bonne journée

Le ven. 11 févr. 2022 à 10:58, Olivier Geay <[email-masked]> a écrit :
> J'obtiens bien un repositionnement de la marque de répétition dans le sens de la hauteur ;
>
> D'autre part, si je veux intégrer ces modifications pour qu'elles s'appliquent sur tous les fichiers avec un \include … .ily, comment dois-je formuler ces modifications dans ce fichier ?
>

-- 
Martial Rameaux

---

From: Olivier Geay <[email-masked]>
Date: Fri, 11 Feb 2022 11:17:00 +0100

Merci beaucoup !

Olivier

---

From: Jean Abou Samra <[email-masked]>
Date: Fri, 11 Feb 2022 19:01:40 +0100

Bonjour Olivier,

Pour info, j'ai accepté votre message manuellement, si je comprends
bien vous avez écrit à la liste d'une adresse différente de l'adresse
habituelle.

> ne fonctionne pas… quelqu'un peut-il m'expliquer pourquoi ?

Parce que bug.

https://gitlab.com/lilypond/lilypond/-/issues/6142

Il y a en règle générale deux catégories de commandes pour
modifier les propriétés des objets graphiques, les commandes
de la famille \override et celles de la famille \tweak.
La question est de savoir comment dans le code source vous
pouvez « pointer du doigt » vers un objet graphique dans
la sortie, autrement dit comment expliquer à quel objet s'applique
la commande. Pour schématiser, d'un côté, il y a \override,
qui se place à un moment donné dans un context donné, comme
un élément indépendant, et qui modifie les propriétés des
objets à ce moment dans le contexte. De l'autre, \tweak,
qui s'accroche à un élément de syntaxe et qui affecte
les objets qui proviennent de ce morceau syntaxique.
\offset est une commande polymorphe qui peut prendre une
syntaxe à la \override :

   %% Déplace les objets MetronomeMark trouvés dans le contexte
   %% Score juste à ce moment.
   \once \offset Y-offset 2 Score.MetronomeMark
   \tempo 4 = 110

ou une syntaxe à la \tweak :

   %% Déplace les objets qui sont causés par la commande \tempo.
   \offset Y-offset 2 \tempo 4 = 110

Le bug est que les commandes de la famille \tweak ne fonctionnent
pas sur \tempo. En attendant qu'il soit corrigé, il faut utiliser
l'une de celles de la famille \override, par exemple la forme
à la \override de \offset :

\version "2.22.1"

{
   \once \offset Y-offset 2 Score.MetronomeMark
   \tempo 4=110
   c'1
}

ou bien \override elle-même :

\version "2.22.1"

{
   \once \override Score.MetronomeMark.Y-offset = 6
   \tempo 4=110
   c'1
}

ou bien, comme le proposait très justement Martial, \override
sur la propriété padding, qui est en fait un élément du calcul
de Y-offset :

\version "2.22.1"

{
   \once \override Score.MetronomeMark.padding = 4
   \tempo 4=110
   c'1
}

padding est relatif à la ligne supérieure de la portée,
tandis que Y-offset est relatif au centre de la portée.

> dois-je formuler ces modifications dans ce fichier ?

Cela tombe bien, pour mettre des modifications dans un fichier \include,
il faut justement appliquer une commande à la \override, puisqu'il n'y
a pas dans le \include les éléments syntaxiques sur lesquels appliquer
les commandes à la \tweak. Donc on a les solutions :

\version "2.22.1"

%% Dans le .ily
\layout {
   \context {
     \Score
     \offset Y-offset 3 MetronomeMark
   }
}

%% Fichier principal
{
   \tempo 4=110
   c'1
}

ou

\version "2.22.1"

%% Dans le .ily
\layout {
   \context {
     \Score
     \override MetronomeMark.Y-offset = 5
   }
}

%% Fichier principal
{
   \tempo 4=110
   c'1
}

ou

\version "2.22.1"

%% Dans le .ily
\layout {
   \context {
     \Score
     \override MetronomeMark.padding = 4
   }
}

%% Fichier principal
{
   \tempo 4=110
   c'1
}

J'espère que cela éclaircit les choses. Par ailleurs,
je ne peux que me joindre à Martial pour conseiller
une recherche dans la LSR, c'est vraiment une source
utile.

Cordialement,
Jean

---

From: Martial R <[email-masked]>
Date: Fri, 11 Feb 2022 20:58:23 +0100

> tandis que Y-offset est relatif au centre de la portée.

Merci Jean pour toutes ces précisions...
Impossible de mourrir idiot dans cette liste !

-- 
Martial Rameaux