Merci Xavier,
J'avais commencé par essayer cette méthode mais je n'étais arrivé à
rien, sans doute parce que j'ai voulu l'appliquer directement à ma
partition au lieu de commencer par recopier l'exemple pour jouer avec.
En partant de l'exemple, ça commence à ressembler et je comprends un peu
plus ce que font les diverses commandes; je me demande quand même si ça
peut vraiment répondre à ce que je veux faire.
Dans la "variation" ci-dessous sur l'exemple proposé, je vois que la
portée supplémentaire du divisi apparaît dès le début du système où le
divisi commence, alors que les mesures sont vides. Et ajouter un \break
juste avant peut mal tomber selon ce qui précède.
Salut,
Oui mais non.
violIb doit contenir également les notes communes avec violIa (voir votre exemple adapté ci-dessous).
Si vous indiquez des silences invisibles (s4) la portée apparaîtra effectivement comme vide avant le divisi.
Pour moi il faut vraiment s'imaginer les musiciens dans l'orchestre : qui joue quoi.
Ainsi violIa reprend toutes les notes jouées par les musiciens assis à droite au pupitre de premier violon, violIb toutes les notes jouées par les musiciens assis à gauche au pupitre de premier violon.
Et les \unset Staff.keepAliveInterfaces et \set Staff.keepAliveInterfaces = #'() permettent juste de dire "ici c'est divisi (différentes portées)" ou "ici c'est unison (une seule portée)" et LilyPond se charge de compléter les débuts et fins de ligne avant et après le passage divisi.
A l'inverse, je voudrais que cette portée disparaisse de la même façon
quand le pupitre redevient uni.
C'est ce qui m'avait fait basculer vers la portée d'ossia, avant que je
ne rajoute le reste du quatuor en dessous. Je trouvais également plus
intuitif de gérer deux portées au lieu de jouer à cache cache avec trois.
Maintenant si on veut avoir des portées qui apparaissent en cours de ligne (mais je n'ai jamais vu cela dans une "vraie partition") on peut utiliser les portées d'ossia (avec alignAboveContext ou alignBelowContext comme dit précédemment).
%%%%
\layout {
short-indent = 2\cm
indent = 3\cm
\context {
\Staff
keepAliveInterfaces = #'()
}
}
violIa = {
\repeat unfold 48 { d'4 }
\unset Staff.keepAliveInterfaces
<d' g''>2
\set Staff.keepAliveInterfaces = #'()
\repeat unfold 14 { d'4 }
\repeat unfold 24 { d'4 }
\bar "|."
}
violIb = {
\repeat unfold 48 { d'4 }
\unset Staff.keepAliveInterfaces
<g d'>2
\set Staff.keepAliveInterfaces = #'()
\repeat unfold 14 { d'4 }
\repeat unfold 24 { d'4 }
\bar "|."
}
\score {
\new StaffGroup = "violinOneStaffgroup" \with {
\consists Keep_alive_together_engraver
} <<
\new Staff = "violinOneStaff" \with {
instrumentName = "Violins I"
shortInstrumentName = "V I"
\override VerticalAxisGroup.remove-layer = 2
} {
\violIa
}
\new Staff = "violinOneUpStaff" \with {
instrumentName = "Violin Ia"
shortInstrumentName = "V Ia"
\RemoveAllEmptyStaves
\override VerticalAxisGroup.remove-layer = 1
} {
\violIa
}
\new Staff = "violinOneDownStaff" \with {
instrumentName = "Violin Ib"
shortInstrumentName = "V Ib"
\RemoveAllEmptyStaves
\override VerticalAxisGroup.remove-layer = 1
} {
\violIb
}
}
%%%%
Cordialement,
Xavier
···
On Tue, 20 Dec 2022 at 09:04, Olivier Charade <****@****> wrote:
--
Xavier Scheuer <****@****>