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

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

Re: Supprimer une portée d'un \PianoStaff avec \RemoveEmptyStaves


From: Jean-Jacques Gerbaud
Subject: Re: Supprimer une portée d'un \PianoStaff avec \RemoveEmptyStaves
Date: Thu, 26 Jan 2017 14:12:56 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1

Le 26/01/2017 à 13:33, Christophe Belletante a écrit :
Bonjour à tous,

J'ai quelques petits soucis liés à la mise en page d'une partition
d'orchestre ou il y a beaucoup d'instruments et de divisi.
J'essaie d'avoir à la fois un StaffGroup sur les pupitres de deux
portées de type \PianoStaff car je souhaite une accolade avec le nom du
pupitre bien centré (ex : image basson) comme seul le \PianoStaff
propose (du moins je n'ai pas trouvé d'autre solution)
Mais le \PianoStaff a un inconvénient que je n'arrive pas à résoudre. Il
n'est pas possible de dissocier les deux portées dans un
\RemoveEmptyStaves. Soit les deux portées apparaissent, soit elles
n'apparaissent plus. Or je voudrais que n'apparaissent que les portées
où il y a des notes. (ex : image basson 2, où apparait le basson 3 alors
qu'il ne joue pas)

Est-ce que quelqu'un a une astuce pour soit avoir le nom du pupitre
centré sur l'accolade qui réuni deux portées sans passer par un
\PianoStaff, soit pouvoir forcer la suppression d'une des deux portées
du \PianoStaff dans une \RemoveEmptyStaves si l'une des deux portées est
vide.


Je vous remercie pour votre aide !

Est ce que quelque chose comme ça te convient ? (j'ai laissé la couleur mais, évidemment, elle n'est pas nécessaire.)

\version "2.18.2"

#(set-global-staff-size 15)

\paper {

top-margin = 20\mm % marge supérieure
bottom-margin = 10.6\mm % marge inférieure
indent = 2.0\cm
short-indent = 1\cm

}


Hautbois = \relative c' {
\time 4/4
\repeat unfold 200 { c2 }
}

BassonUn = \relative c' {
\clef bass
\time 4/4
R1*30
\voiceOne
\repeat unfold 200 { c4 }
\oneVoice R1*20

}

BassonDeux = \relative c' {
\clef bass
\time 4/4
s1*30
\voiceTwo
\repeat unfold 100 { a4 } s1*20

}

BassonTrois = \relative c {
\clef bass
\time 4/4
R1*30
\repeat unfold 50 { c4 } r2
R1*57

}


\score {

<<
\new StaffGroup <<


\new Staff {\Hautbois }

\new Staff {\BassonUn }

\new Staff \with {
\override StaffSymbol.stencil = #(lambda (grob)
(let* ((staff (ly:staff-symbol::print grob))
(X-ext (ly:stencil-extent staff X))
(Y-ext (ly:stencil-extent staff Y)))
(set! Y-ext (cons
(- (car Y-ext) 0)
(+ (cdr Y-ext) 0)))
(ly:grob-set-property! grob 'layer -10)
(ly:stencil-add
(ly:make-stencil (list 'color (rgb-color 1 0.8 1) ; ce dernier chiffre indique la couleur
(ly:stencil-expr (ly:round-filled-box X-ext Y-ext 0))
X-ext Y-ext))
staff)))
}
{ \BassonDeux }

\new Staff {\BassonTrois }


>>

>>
\layout {
\context { \Score
\override RehearsalMark.break-align-symbols = #'(time-signature)
\override RehearsalMark.self-alignment-X = #LEFT
\override TimeSignature.break-align-anchor-alignment = #LEFT
}

\context {
\RemoveEmptyStaffContext
\override VerticalAxisGroup #'remove-first = ##t
}
}

\midi { }

\layout { \context {
\Staff \RemoveEmptyStaves
\override VerticalAxisGroup.remove-first = ##t
} }

\midi { }

}





reply via email to

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