|
From: | Clement Caillol |
Subject: | Re: modifier les crochets systèmes au milieu d'un morceau |
Date: | Tue, 16 Mar 2021 11:08:32 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 |
Bonjour,
Après plusieurs essais, je suis arrivé à quelque chose qui me convinent vraiment pour les divisis de violon. Je vous le partage, dites-moi ce que vous en pensez.
(attention, les varibles violI et violII correspondent aux
divisis du haut et du bas. Dans cet exemple, les v1 et les v2
jouent la même musique.)
J'ai juste une question concernant \alterBroken, est-il possible
d'utiliser une fonction scheme pour réduire la liste des valeurs
booléennes ?
Par exemple #'(#f #f #f #t #f #f #t) devienne un truc du genre 3*#f #t 2*#f #t (je sais que ça ne ressemblera pas à ça, mais c'est pour illustrer)
Merci beaucoup !
Voilà le code :
\version "2.22.0"
violI = {
\repeat unfold 4 { d'4 }
\break
\repeat unfold 4 { d'4 }
\break
\once \unset Staff.keepAliveInterfaces
<d' g''>2 d'4 d'4
\break
\repeat unfold 4 { d'4 }
\bar "|."
}
violII = {
\repeat unfold 4 { g4 }
\repeat unfold 4 { g4 }
<g d'>2 g4 g
\repeat unfold 4 { g4 }
\bar "|."
}
\score {
\new StaffGroup \with {
\alterBroken transparent #'(#f #f #t #f) SystemStartBrace
\override SystemStartBrace.style = #'line-bracket
\alterBroken X-offset #'(0) SystemStartSquare
\alterBroken X-offset #'(0) SystemStartBrace
}
<<
\set StaffGroup.systemStartDelimiter = #'SystemStartBrace
<<
\new StaffGroup \with { \consists
"Keep_alive_together_engraver"
\consists "Instrument_name_engraver"
instrumentName = "Violons 1"
shortInstrumentName = "vl.1"
} <<
\set StaffGroup.systemStartDelimiter = #'SystemStartSquare
\new Staff \with {
keepAliveInterfaces = #'()
\override VerticalAxisGroup.remove-layer = 2
} << \violI \\ \violII >>
\new Staff \with {
\RemoveAllEmptyStaves
keepAliveInterfaces = #'()
\override VerticalAxisGroup.remove-layer = 1
} \violI
\new Staff \with {
\RemoveAllEmptyStaves
keepAliveInterfaces = #'()
\override VerticalAxisGroup.remove-layer = 1
} \violII
>>
\new StaffGroup \with { \consists
"Keep_alive_together_engraver"
\consists "Instrument_name_engraver"
instrumentName = "Violons 2"
shortInstrumentName = "vl.2"
} <<
\set StaffGroup.systemStartDelimiter = #'SystemStartSquare
\new Staff \with {
keepAliveInterfaces = #'()
\override VerticalAxisGroup.remove-layer = 2
} << \violI \\ \violII >>
\new Staff \with {
\RemoveAllEmptyStaves
keepAliveInterfaces = #'()
\override VerticalAxisGroup.remove-layer = 1
} \violI
\new Staff \with {
\RemoveAllEmptyStaves
keepAliveInterfaces = #'()
\override VerticalAxisGroup.remove-layer = 1
} \violII
>>
>>
>>
}
Clément Caillol
Le 05/03/2021 à 07:43, Clément CAILLOL a écrit :
Merci, je ne connaissais pas cette solution !
Est-ce que avec cette méthode, il est aussi possible de garder un seul nom d'instrument pour plusieurs portées quand il y a divisi ?
Merci !
Clément Caillol
Absolument, il suffit de faire la même chose avec InstrumentName :
\version "2.23.1"
\new StaffGroup \with {
\consists Instrument_name_engraver
instrumentName = "Violon"
shortInstrumentName = "V."
\alterBroken transparent #'(#f #f #t) InstrumentName
systemStartDelimiterHierarchy
= #'(SystemStartBracket (SystemStartSquare a b) c)
\alterBroken transparent #'(#t #t #f) SystemStartSquare
} <<
\new Staff {
a1\< \break
b \break
c'\!
}
\new Staff {
d1 e f'
}
\new Staff {
g1 a b
}
>>Cordialement,
Jean
[Prev in Thread] | Current Thread | [Next in Thread] |