Subject: Lilypond 2.18.2 \break impossible

From: Olivier Miakinen <[email-masked]>
Date: Thu, 28 Sep 2017 00:05:36 +0200

Bonjour,

Je me trouve face à un petit problème curieux.

Recopiant une partition existante, j'aime bien mettre temporairement
les sauts de ligne et sauts de page au même endroit que dans la
partition d'origine afin de repérer plus facilement d'éventuelles
erreurs de recopie.

Or à un endroit le \break n'est pas respecté, et j'ai le message
d'erreur suivant :

 Avertissement : Un saut explicite a été outrepassé par un autre événement.
 Positionnez quelques contrôles de mesure (bar check) pour vérifier.

Je précise que les « bar check » en question, je les mets
systématiquement à chaque mesure. Il se trouve qu'à la mesure
où le \break est impossible deux voix commencent par une
« grace note », et que si je supprime ces deux « \grace XX »
le problème disparait. Mais malheureusement je n'ai pas encore
réussi à reproduire le problème sur une partition plus petite,
alors je n'ose pas recopier l'exemple en question -- j'ose
espérer que quelqu'un connait la solution et n'a pas besoin
d'exemple, mais si c'est nécessaire je trouverai le moyen de
donner un exemple pas trop gros.

Quelques particularités de ma partition, si cela peut aider à
restreindre le problème :
1) J'ai \version "2.18.2"
2) J'utilise \language "italiano"
3) Mes \break et \pageBreak sont dans un « Staff » séparé et invisible :
  \new Staff \with {
    \RemoveEmptyStaves
    \override VerticalAxisGroup #'remove-first = ##t
  } { \structure }
avec :
  optBreak = \break
  optPage = \pageBreak
  global = {
    \key do \major
    \numericTimeSignature
    \time 3/4
  }
  structure = {
    \global
    R2. R R \optBreak
    R R R R \optPage
    R R R \optBreak
    R R R R R \optBreak
    R R R \optPage
    (etc.)
  }

Cordialement,
-- 
Olivier Miakinen

---

From: Christophe Pochon <[email-masked]>
Date: Thu, 28 Sep 2017 06:30:07 +0200

Salut,

C'est un bug connu, facilement contournable : il faut mettre un \grace de
silence invisible sur chaque voix, y-compris dans le Staff qui contient les
\break. Exemple :

%%%%%
<<
\new Staff { \relative c' {c1 c1 c1 c1 \break
                           \grace b8 c1 c1 c1 c1 }}
\new Staff { \relative c' {c1 c1 c1 c1 \break
                           \grace b8 c1 c1 c1 c1 }}
\new Staff { \relative c' {c1 c1 c1 c1 \break
                           \grace s8 c1 c1 c1 c1 }}
%%%%%%

Bonne journée,

Christophe

Christophe Pochon
http://www.christophe-pochon.com

Le 28 septembre 2017 à 00:05, Olivier Miakinen <[email-masked]> a
écrit :

> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
>

---

From: Olivier Miakinen <[email-masked]>
Date: Thu, 28 Sep 2017 10:11:04 +0200

Le 28/09/2017 06:30, Christophe Pochon m'a répondu :
> \break. [...]

Contournement simple et de bon goût... et qui fonctionne parfaitement.

Merci !