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

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 !

Christophe

Basson.png

essaie portée.ly (1.3 KB)

Bonjour,

Dans ce cas il vaut mieux utiliser \GrandStaff qui fonctionne avec le
RemoveEmptyStaves.

Pour le nom de pupitre centré, c'est comme pour un pianoStaff :
\set GrandStaff.instrumentName = "blabla"

Bonne journée,
Nicolas

···

Le jeudi 26 janvier 2017 à 13:33 +0100, 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 !

Christophe

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

Bonjour,

Il faut ajouter :

\context {

\PianoStaff

\remove "Keep_alive_together_engraver"

}

dans ton layout.

Bonne journée,

Christophe Pochon

···

Le 26 janvier 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 !

Christophe


liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

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 { }

}

···

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

Bonjour,

Merci pour vos réponses. Ça marche comme je veux c'est super !

···

Le 26 janvier 2017 à 14:12, Jean-Jacques Gerbaud <****@****> a écrit :

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
R130
\voiceOne
\repeat unfold 200 { c4 }
\oneVoice R1
20

}

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

}

BassonTrois = \relative c {
\clef bass
\time 4/4
R130
\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 { }

}

--

Christophe Belletante

--------------

www.christophebelletante.com