lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Alignement numéros de mesure entourés


From: Jean ABOU SAMRA
Subject: Re: Alignement numéros de mesure entourés
Date: Sun, 26 May 2019 10:35:59 +0200

Très bien ! Merci beaucoup.
L'idée de item-break-dir est bonne. Toutefois, j'ai remis tous les commutateurs de break-visibility à #t car je trouvais plus élégant d'afficher les numéros en fin de ligne, et ceux de fin de ligne ne sont plus très bien alignés, donc j'ai réécrit un peu le code :

\version "2.21.0"

\layout {
  \context {
    \Score
    \override BarNumber.break-visibility = ##(#t #t #t)
    %% barNumberVisibility = #(every-nth-bar-number-visible 3) % for purpose of demonstration -- uncomment if desired
    \override BarNumber.stencil = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
    \override BarNumber.self-alignment-X =
    #(lambda (grob)
      (define bd (ly:item-break-dir grob))
        (cond
          ( (= bd 1) 0.8)
          ( (= bd 0) 0)
          ( (= bd -1) 0) )) 
  }
}

% now bar numbers are nicely aligned
\new StaffGroup <<
  { \repeat unfold 50 c'1 }
  { \repeat unfold 50 c'1 }
>>

J'ai vu votre message sur la liste internationale — à laquelle je venais tout juste de m'abonner —, je vais répondre à Aaron Hill pour le remercier aussi.
Cordialement,
Jean Abou Samra.


Le 26 mai 2019 à 09:14, Pierre Perol-Schneider <address@hidden> a écrit :

On s’approche (avec l'aide d4aaron de la liste internationale) :

\version "2.21.0"
{
  \override Score.BarNumber.break-visibility = ##(#f #t #t) % <= !!
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 3)
  \override Score.BarNumber.stencil = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
  \override Score.BarNumber.self-alignment-X = #(lambda (grob) (+ (ly:item-break-dir grob)))
  \set Score.currentBarNumber = 1111
  \repeat unfold 50 c'1
}

Cordialement,
Pierre

Le sam. 25 mai 2019 à 18:50, Pierre Perol-Schneider <address@hidden> a écrit :
Une solution provisoire : \override Score.BarNumber.break-visibility = ##(#t #t #f)

Cordialement,
Pierre

Le sam. 25 mai 2019 à 18:11, Jean ABOU SAMRA <address@hidden> a écrit :
Merci beaucoup à tous deux !

Le résultat est parfait pour les numéros du milieu de la portée. Malheureusement, la modification fait aussi rentrer les numéros de début de système en collision avec les crochets de mon StaffGroup, je comprends donc pourquoi par défaut les numéros de mesure s'alignent à droite (voir http://lilypond.org/doc/v2.19/Documentation/internals/barnumber à self-alignment-X).

Mais bon, pour ce que cela représente et vu les délais dont je dispose, je m'en satisfais très bien. Évidemment, je pourrais truffer mon code de \override pour changer l'alignement à chaque début de système, mais cela risque fort de devenir très pénible, et je n'ai pas le temps pour l'instant de me plonger dans la mécanique interne. Peut-être un jour j'essaierai de décaler automatiquement les numéros de mesure du début d'un système… En attendant je me contente sans peine de ce \override.

Cordialement,
Jean Abou Samra.

Le 25 mai 2019 à 16:09, Pierre Perol-Schneider <address@hidden> a écrit :



Le sam. 25 mai 2019 à 12:01, Jean ABOU SAMRA <address@hidden> a écrit :
 
Il semble que des styles soient prédéfinis pour \mark mais pas pour les numéros de mesure.
Oui.

Comment faire pour que les numéros de mesure aient le même alignement vertical sur la mesure ?

Corriger l’alignement :

Ex.

\version "2.21.0"

{
% rendre tous les numéros de mesure imprimables
\override Score.BarNumber.break-visibility = ##(#t #t #t)
% afficher les numéros de mesure toutes les trois mesures
\set Score.barNumberVisibility = #(every-nth-bar-number-visible 3)
% entourer les numéros d'un cercle
\override Score.BarNumber.stencil = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
\override Score.BarNumber.self-alignment-X = 0
\set Score.currentBarNumber = 1111
\repeat unfold 50 c'1
}

Cordialement,
Pierre



reply via email to

[Prev in Thread] Current Thread [Next in Thread]