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

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

Re: Grilles harmoniques, nouvelle version


From: Jean Abou Samra
Subject: Re: Grilles harmoniques, nouvelle version
Date: Mon, 18 Jul 2022 13:55:15 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0

Le 17/07/2022 à 17:12, Vincent Gay a écrit :
Le 27/06/2022 à 09:02, Jean Abou Samra a écrit :

Suggestion concernant le snippet avec un silence invisible : le lier avec \stopStaff  \startStaf dans le cadre d'une répétition avec alternatives



Bonjour Jean,

je viens de m'apercevoir que je n'avais jamais testé cette option qui me paraît pourtant très intéressante. Ce que je fais donc présentement.

questions :
- pourquoi la 2ème alternative se termine-t-elle par une barre de reprise, et surtout pourquoi je ne peux changer cette barre sans que cela ne change également la première ?



C'est un problème de l'approche qui consiste à mettre l'alternative comme
une portée parallèle. En règle générale, les barres de mesure sont synchronisées
à travers l'ensemble des portées, comme tu peux le voir sur l'exemple

\version "2.23.10"

<<
  \new Staff { c'1 \bar "||" }
  \new Staff { c'1 }
>>


Pour les rendre indépendantes, ce n'est pas le Bar_engraver qu'il faut
déplacer, car le Bar_engraver est juste chargé de créer les barres
de mesure, et comme il y a bien une barre de mesure pour chaque ligne
de grille d'accords, il est déjà au niveau ChordGrid et pas ChordGridScore.
Le graveur qui s'occupe de synchroniser les barres de mesure entre les
portées est le Timing_translator. Tu peux donc t'en sortir avec un
\remove Timing_translator dans le \context { \ChordGridScore ... }
et \consists Timing_translator dans \context { \ChordGrid ... }.
Il y a aussi l'astuce qui consiste à remarquer que rendre les portées
indépendantes au niveau de la synchronisation temporelle, c'est aussi
ce que l'on fait pour une partition polymétrique, et en 2.23.10, il
y a une commande toute prête qui fait cela, \enablePolymeter. Ce qui
donne :


\version "2.23.10"


\paper {
  ragged-right = ##f
  indent = 0
}

\layout {
  \enablePolymeter
  \context {
    \ChordGridScore
    \remove Volta_engraver
    \remove Staff_collecting_engraver
    startRepeatBarType = #"[|:"
    endRepeatBarType = #":|]"
    doubleRepeatBarType = #":|][|:"
    rehearsalMarkFormatter = #format-mark-box-letters
  }
  \context {
    \ChordGrid
    \consists Volta_engraver
    \consists Staff_collecting_engraver
  }
}

\new ChordGrid \chordmode {
  \bar "[|:"
  \repeat volta 2 {
   \repeat unfold 3 {  c1:7  }
    <<
      \alternative {
        \volta 1 { c1:7 }
      }
      \new ChordGrid {
        \alternative {
          \volta 2 { c1:7 \bar "||" }
        }
     \stopStaff  }
    >>
  }
  \break
  \repeat unfold 4 {  c1:7  }

}



En fait, le \enablePolymeter est juste un raccourci pour le fait de
déplacer le Timing_translator.



- Pourquoi un stopStaff est-il nécessaire à la fin de la seconde alternative (sinon cases vides). Cela n'est pas nécessaire dans une portée d'ossia ?


Là, je ne vois pas la raison à première vue, et je n'ai pas
cherché bien longtemps. Je suis assez occupé voire épuisé en ce
moment à cause de régressions de LilyPond qui prennent beaucoup de
temps à régler. Si tu le veux bien, rappelle-le moi dans deux
semaines environ.



- À part pour ce cas particulier à quoi sert ChordGridScore ?


Tu veux dire, à quoi sert le fait d'avoir le contexte ChordGrid
dans un ChordGridScore au lieu qu'il soit simplement au plus
haut niveau comme il l'était dans mon brouillon initial ?
C'est ce qui permet ta notation des anticipations. C'est
aussi plus simple pour des raisons techniques, je ne rentrerai
pas dans les détails.

Bonne semaine !

Jean




reply via email to

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