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

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

Re: modifier les crochets systèmes au milieu d'un morceau


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 à 19:17, Jean Abou Samra a écrit :


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


reply via email to

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