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

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

Re: saut de page intempestif


From: Valentin Villenave
Subject: Re: saut de page intempestif
Date: Thu, 7 Feb 2019 18:08:13 +0000

On 2/7/19, Daniel Bernair (Belgacom.net) <address@hidden> wrote:
> C‘est comme si Lilypond prévoyait la place pour les 5
> portées alors que quatre sont empty.

Je pense plutôt que LilyPond prend ses aises, en voyant qu’il va y
avoir des portées chargées avec des nuances, des paroles etc. Vous
pouvez régler ça en jouant avec les propriétés dans \paper du genre
system-system-spacing, etc. (c’est un peu compliqué)… ou alors vous
pouvez tout simplement glisser un \pageBreak après votre
\splitStaffBarLine. (Oui, ce n’est pas très propre, mais ça vous
évitera quelques dizaines de minutes dans la section 4.1 du manuel.)

Juste au passage, votre code sent (et pour cause) la conversion depuis
MusicXML (au passage, faites attention aux [de]crescendos anarchiques
dans la partie de piano) ; voici une façon éventuellement plus
élégante (en tout cas à mon goût) de présenter le bloc \score à la fin
du code.

%%%%%%%%%%%%%%%%

% The score definition
\score {
  <<
    \new StaffGroup <<
      \new Staff \with {
        instrumentName = "U"
        shortInstrumentName = "U"
      }
      \new Voice = "PartPTousVoiceOne" \PartPTousVoiceOne
      \new Lyrics \lyricsto "PartPTousVoiceOne" \PartPTousVoiceOneLyricsOne
      \new Staff \with {
        instrumentName = "S"
        shortInstrumentName = "S"
      } \new Voice = "PartPOneVoiceOne" \PartPOneVoiceOne
      \new Lyrics \with {stanza = "1."} \lyricsto "PartPOneVoiceOne"
\PartPOneVoiceOneLyricsOne
      \new Staff \with {
        instrumentName = "A"
        shortInstrumentName = "A"
      }  \new Voice = "PartPTwoVoiceOne" \PartPTwoVoiceOne
      \new Lyrics \with {stanza = "1."} \lyricsto "PartPTwoVoiceOne"
\PartPTwoVoiceOneLyricsOne
      \new Staff \with {
        instrumentName = "T"
        shortInstrumentName = "T"
      } \new Voice = "PartPThreeVoiceOne" \PartPThreeVoiceOne
      \new Lyrics \with {stanza = "1."} \lyricsto "PartPThreeVoiceOne"
\PartPThreeVoiceOneLyricsOne
      \new Staff \with {
        instrumentName = "B"
        shortInstrumentName = "B"
      } \new Voice = "PartPFourVoiceOne" \PartPFourVoiceOne
      \new Lyrics \with {stanza = "1."} \lyricsto "PartPFourVoiceOne"
\PartPFourVoiceOneLyricsOne
    >>
    \new PianoStaff \with {
      shortInstrumentName = "P"
    } <<
      \new Staff = "1" <<
        \PartPFiveVoiceOne
        \\ \PartPFiveVoiceTwo
      >>
      \new Staff = "2" <<
        \PartPFiveVoiceFive
        \\ \PartPFiveVoiceSix
      >>
    >> {
      %% Serrer les notes au début :
      \override Score.SpacingSpanner.common-shortest-duration =
      #(ly:make-moment 1/4) % (ajuster la fraction si besoin)
      \partial 4 s4
      s1*10 % Au bout de 10 mesures, on revient normalement:
      \newSpacingSection
      \revert Score.SpacingSpanner.common-shortest-duration
    }
  >>
  \layout {
    \context {
      \Staff
      \mergeDifferentlyDottedOn
      \mergeDifferentlyHeadedOn
      \RemoveAllEmptyStaves
    }
  }
  % To create MIDI output, uncomment the following line:
  \midi {\tempo 4 = 72 }
}

%%%%

Cordialement,
V. V.



reply via email to

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