Subject: Modification de la position d'un markup par rapport aux noms d'accords

From: Philippe Neyrat <[email-masked]>
Date: Fri, 28 Nov 2014 10:20:59 +0100

Bonjour à tous,

J'ai dans un bloc \musique des structures comme celle-ci :

   ees2.^\markup { \rounded-box "Tag" } g,8[ d']~

et dans un autre bloc \accords , les noms d'accords :

   ees1:7sus4

Qui sont gravés par une instruction :

<<
   \musique
   \accords

Mais la box se place au dessous des noms d'accords, et je voudrais 
qu'elle soit au dessus. De plus, il y a une indication métronomique en 
début de partition. Je voudrais que la première box se place entre 
l'indication métronomique et que les noms des accords soient au dessus 
des portées.

J'ai tenté de modifier les priorités de gravure des objets, mais je ne 
dois pas comprendre le fonctionnement car je n'y suis pas parvenu.

J'ai essayé des solutions mais sans succès, en particulier :

\once \override TextScript #'outside-staff-padding = #3

repousse tout vers le haut, y compris les noms d'accords.

Je suppose qu'il faut modifier les priorités de gravure des objets, mais 
ça me dépasse.
Faut-il mettre ça dans un "context" ?

Merci.

Philippe

-- 
Propulsé par l'Association Sud-Ouest.org
Plateforme Libre d'hébergement mail à prix libre
     https://www.sud-ouest.org

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Fri, 28 Nov 2014 10:46:35 +0100

Re-bonjour Philippe,

Le 28 novembre 2014 10:20, Philippe Neyrat <[email-masked]> a

> Qui sont gravés par une instruction :

Par avance merci d'envoyer des exemples compilables.

> Mais la box se place au dessous des noms d'accords, et je voudrais qu'elle
> soit au dessus. De plus, il y a une indication métronomique en début de
> partition.

OK...

Je voudrais que la première box se place entre l'indication métronomique

Pas compris... :(

> et que les noms des accords soient au dessus des portées.
>

Une solution vite pensée (peut-être pas la plus simple) est d'ajouter un
portée fantôme pour "chapeauter" les accords.
Quelques choses comme :

\version "2.16.2"

<<
  \new Dynamics % <= la portée fictive
    \with { \override TextScript #'padding = #3.5 } % <= j'ajoute un peu
d'espace
    {
      \tempo 4 = 100
      s1^\markup\rounded-box "Tag"
    }
  \chords { ees1:7sus4 }
  \relative e'{ ees2.g,8[ d']~ }
... en espérant que ça t'aide ?
Cordialement,
Pierre

---

From: Philippe Neyrat <[email-masked]>
Date: Fri, 28 Nov 2014 11:25:08 +0100

Merci pour la rapidité de la réponse,

voilà quelques précisions :

>     et que les noms des accords soient au dessus des portées.

J'ai plusieurs "box" au fil de la partition, dont une en début de 
partition, une autre à la mesure 33, une autre à la 61...
Celle qui est en première mesure (après une levée), je voudrais qu'elle 
soit entre l'indication métronomique (qui est un markup) :

   \tempo \markup
   {
     \concat
     {
       \general-align #Y #DOWN \note #"4" #1
       " = 126   Swing"
     } % concat
   } % tempo

et le nom du premier accord (dont le nom est gravé au dessus de la 
première note de cette première mesure.

Je comprends bien cette solution :

>      \with { \override TextScript #'padding = #3.5 } % <= j'ajoute un
> peu d'espace
>      {
>        \tempo 4 = 100

Le problème, c'est que ça marchera pour la première box, mais pas pour 
les suivantes, puisqu'elles sont hors du bloc << >>.

Je joins un exemple minimal.

Merci !

Philippe

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Fri, 28 Nov 2014 21:47:18 +0100

Bonsoir Philippe,
Ci-joint ton fichier modifié comme proposé ce matin.
Cordialement,
Pierre

---

From: Philippe Neyrat <[email-masked]>
Date: Sat, 29 Nov 2014 10:58:29 +0100

Merci Pierre pour cette solution

Je comprends mieux Les "Dynamics" à présent, merci !

Philippe.