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

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

Re: double barre comme SystemStartDelimiter


From: Jany Seytor
Subject: Re: double barre comme SystemStartDelimiter
Date: Wed, 23 Sep 2020 19:43:11 +0000 (UTC)

Mille mercis

La personne qui ne parle pas couramment le lilypond, c'est moi, qui me doutais bien qu'il fallait regarder dans le scm : je suis allée y faire un tour, mais je ne suis pas assez calée pour intervenir à ce niveau du code.

Si j'ai blessé quelqu'un, je m'en excuse sincèrement ; les réponses précédentes, à une première question, (double barre au début d'une portée unique) étaient tout à fait appropriées : ça m'a fait avancer et j'ai pensé que je pouvais demander un peu plus (double barre au début d'un système). Seulement je ne suis pas arrivée à utiliser le code de Pierre dans un système de portées.


En tous cas merci d'avoir passé du temps sur mon problème, j'apprécie le code et les commentaires, je vais pouvoir reprendre mes copies en sachant que je peux toujours compter sur la liste ........

Cordialement
Jany
Le mercredi 23 septembre 2020 à 18:57:38 UTC+2, Jean Abou Samra <jean@abou-samra.fr> a écrit :



Le 21/09/2020 à 01:33, Jany Seytor a écrit :
Bonjour

Je n'arrive toujours pas à obtenir une double barre de mesure comme SystemBarDelimiter
J'ai compris que la formule de l'incipit ne me donnerait rien, puisqu'il s'agit juste de traiter l'incipit comme un InstumentName.Mais j'ai trouvé ceci sur la liste (merci Valentin http://lilypond-french-users.1298960.n2.nabble.com/bar-de-systeme-en-pointille-td7589305.html) :




il faut aller
trafiquer le stencil :

%%%%

%% On peut copier les définitions de
%% bar-line.scm, ou bien aller les chercher
%% directement. Dans ce dernier cas,
%% on va avoir besoin de définir
%% define-session (qui n’est pas publique) :

#(define-macro (define-session x y)
   `(define ,x ,y))


%% Puis on charge tranquillement le fichier.
#(ly:load "bar-line.scm")

\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \remove "Default_bar_line_engraver"
    \omit SystemStartBracket
    \override SystemStartBar.stencil =
    #(lambda (grob)
       ;; on utilise le stencil d’origine, uniquement
       ;; pour prendre sa dimension verticale :
       (let ((ext (ly:stencil-extent
                   (ly:system-start-delimiter::print grob) Y)))
       ;; on peut ensuite sélectionner n’importe quel style :
       (make-dashed-bar-line grob ext)
      ; (make-dotted-bar-line grob ext)
       ))


}
  \context {
    \Staff
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }
}

A partir d'ici, il ne me reste plus qu'à trouver  comment exprimer le style que je cherche, à savoir "||"

Quelqu'un qui parle couramment le lilypond ?
D'avance merci

Bonjour,

Attention à la manière de formuler une question : on pourrait croire que Xavier et Pierre qui vous ont répondu précédemment ne parlent pas couramment le LilyPond (en ajoutant Valentin, on aurait les trois plus expérimentés de cette liste :-).

Vous pouvez réutiliser le code précédent de Pierre, avec grob-interpret-markup dans le stencil de SystemStartBar. Voici également une astuce trouvée à force de patience, qui s'affranchit du réglage manuel des valeurs numériques :

\layout {
  \context {
    \StaffGroup
    systemStartDelimiter = #'SystemStartBar
    \override SystemStartBar.kern = 1.5 % espace entre les deux barres
    \override SystemStartBar.direction = 1
    \override SystemStartBar.hair-thickness = 1.8 % épaisseur des lignes
    \override Clef.X-extent = #'(-0.4 . 0) % ajout d'un léger espace à gauche des clefs
    \override SystemStartBar.stencil =
     #(lambda (grob)
        ; Inspiré de ly:bar-line::print dans bar-line.scm.
        (let* ((single-bar-stencil (ly:system-start-delimiter::print grob))
               (extent (ly:stencil-extent single-bar-stencil Y))
               (glyph-name "||"))
          (bar-line::compound-bar-line grob glyph-name extent)))
  }
}

Vous touverez un exemple d'incipit en pièce jointe.

Cordialement,
Jean Abou Samra


reply via email to

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