\RemoveEmptyStaves et PianoStaff

\RemoveEmptyStaves et PianoStaff ça matche pas. Pour un musicien classique cela a vraisemblablement du sens mais quand il faut gagner une page pour un musicien de big band...

bref, y'a moyen de moyenner ?

Merci d'avance

Bonjour,
Un exemple minimum aide à répondre rapidement.

Effectivement il semble qu'avec PianoStaff cela ne fonctionne pas
mais avec StaffGroup ou ChoirStff c'est ok

\version "2.24.4" %ou "2.25.25"



MD = \relative c' { r1 r1 r1 r1 \break c1 c1 c1 c1 }
MG = \relative c' { c1 c1 c1 c1 \break c1 c1 c1 c1 }

%----------------------------
\new StaffGroup  <<  
  \new Staff \with { } \MD
  \new Staff \with {  } \MG
>>
  
\layout {
  \context { 
    \Staff \RemoveEmptyStaves 
  }
  \context {
    \Score    \override VerticalAxisGroup.remove-first = ##t
  }
  
}

%----------------------
\new PianoStaff  <<  
  \new Staff \with { } \MD
  \new Staff \with {  } \MG
>>
  
\layout {
  \context { 
    \Score \RemoveEmptyStaves 
  }
  \context {
    \Score    \override VerticalAxisGroup.remove-first = ##t
  }
  
}
%----------------------

Cordialement,

Oui, nous sommes d'accord (pas besoin d'exemple). Je peux effectivement utiliser un StafGroup mais le piano est lui-même dans un groupe, la rythmique :wink:

*De : *MartialR via LilyPond notifications@lilypond.community
*À : *vgay@vintherine.org
*Date : *25 avr. 2025 13:41:38
*Objet : *[LilyPond] \RemoveEmptyStaves et PianoStaff

Effectivement il semble qu'avec PianoStaff cela ne fonctionne pas
mais avec StaffGroup ou ChoirStff c'est ok

--
Vincent Gay
Envoyé depuis mon saxo-phone

cf. Re: \RemoveEmptyStaves

Because it's not a Staff, it's a PianoStaff.  It took me a while to
work this out, too.

It's a similar story for ChoirStaff. I use this:

\layout {
   \context {
    \Staff \RemoveEmptyStaves
   }
   \context {
    \ChoirStaff \RemoveEmptyStaves
   }
   \context {
    \PianoStaff \RemoveEmptyStaves
   }
}

PianoStaff contient le Keep_alive_together_engraver dont la fonction est de faire que les portées ne sont supprimées que quand les deux à la fois sont vides. Tu peux l'enlever avec

\layout {
  \context {
    \PianoStaff
    \remove Keep_alive_together_engraver
  }
}

Effectivement j'avais testé mais surement pas au bon endroit
Merci jean

%----------------------
\new PianoStaff  <<  
  \new Staff \with { } \MD
  \new Staff \with {  } \MG
>>
  
\layout {
  \context { 
    \Score \RemoveEmptyStaves 
  }
  \context {
    \Score    \override VerticalAxisGroup.remove-first = ##t
  }
   \context {
    \PianoStaff
    \remove Keep_alive_together_engraver
  }
}
%----------------------

Super, Merci Jean

Merci aussi Jean-Charles d'avoir pris le temps de me répondre