Utilisation d'une voix invisible

Bonjour à tous.

Suite à un topic précédent, je cherchais à utiliser une voix invisible pour
insérer des sauts de lignes et éviter ainsi le bug de Lilypond qui parfois
impose un break au milieu d'une ligne.

Mais voilà, cette ligne invisible est visible sur le premier système.

Voici le code utilisé (vesion 2.13.7) :

  \score {
    <<
      \new StaffGroup
      <<
        \staffSaMavoid
        \staffSaMaFlote
        \staffSaMaOboe
        \staffSaMaKlarinette
        \staffSaMaFagott
        \new GrandStaff
        <<
          \staffSaMaHornD
          \staffSaMaHornE
        >>
        \staffSaMaTrumpete
        \staffSaMaPauken
      >>
      \new StaffGroup
      <<
        \new GrandStaff
        <<
          \staffSaMaViolineI
          \staffSaMaViolineII
        >>
        \staffSaMaViola
        \staffSaMaVioloncello
        \staffSaMaKontrabass
      >>
    >>

Avec pour la voix 'invisible, le code suivant :

staffSaMavoid = \new Voice {

  s1 * 125 \break
}

J'ai essayé plusieurs positions pour cette ligne invisible, y compris juste
après le score { sans résultat. Toujours, il y a une portée vierge sur le
premier système.

Autre question, corollaire de celle-ci : comment gérer la commande \partial
avec une ligne vide ?

Merci de votre aide,

Jean-François

···

--
View this message in context: http://n2.nabble.com/Utilisation-d-une-voix-invisible-tp4208160p4208160.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Bonjour à tous.

Suite à un topic précédent, je cherchais à utiliser une voix
invisible pour insérer des sauts de lignes et éviter ainsi le bug de
Lilypond qui parfois impose un break au milieu d'une ligne.

Mais voilà, cette ligne invisible est visible sur le premier système.

Bonjour,

Tu dois mettre cette voix invisible à l'intérieur d'une portée
existante, sinon LilyPond créera lui-même une portée implicite pour ta
voix invisible.

Ainsi, tu dois soit mettre \voiceSaMavoid ( = ton précédent
\staffSaMavoid) dans ta portée \staffSaMaFlote par exemple.
Mais ce n'est sûrement pas pratique si tu veux réutiliser
staffSaMaFlote sans les sauts de lignes...

Moi j'utilise des variables pour les voix, pas pour les portées, donc
je n'ai pas ce problème.

  \new Staff = "violin" {
    <<
      \violinBreaks % contenant les sauts de lignes
      \violin % voix violin, contenant les notes
    >>
  }

Tu utilises les templates de jEdit/LilyPondTool, non ?
Si oui tu as donc tes voix définies par des variables, genre
voiceSaMaFlote ?
Dans ce cas tu peux définir un staffSaMaFlotevoid qui ressemblerait à :

  staffSaMaFlotevoid = \new Staff {
    <<
      \voiceSaMavoid
      \voiceSaMaFlote
    >>
  }

Et utiliser \staffSaMaFlotevoid à la place de \staffSaMaFlote dans ton
Score.

J'ai essayé plusieurs positions pour cette ligne invisible, y compris
juste après le score { sans résultat. Toujours, il y a une portée
vierge sur le premier système.

Autre question, corollaire de celle-ci : comment gérer la commande
\partial avec une ligne vide ?

\partial s4 s1*125 \break ? :wink:

···

Le Wed, 23 Dec 2009 03:13:43 -0800 (PST), Seventies <****@****> a écrit :

--
Xavier Scheuer <****@****>

Ou bien peut-être qu'en définissant

  staffSaMavoid = \context Staff = "Flote" {
    \new Voice {
      s1 * 125 \break
    }
  }

si staffSaMaFlote est défini comme une porté nommée "Flote"
  staffSaMaFlote = \new Staff = "Flote" ...

Enfin je ne suis pas sûr que ça fonctionne, à essayer.

Xavier

···

--
Xavier Scheuer <****@****>

Ok, merci, j'ai trouvé mon erreur : je confondais Voice et Staff (pas évident pour un débutant).
La solution ci-dessus marche parfaitement.

En revanche, j'ai toujours les coupures des systèmes en plein milieu de page. Il faut trouver en quelle position placer le \break pour assurer la continuité des systèmes.

Et comme la compilation dure plus de 35 minutes, ça ne va pas se faire de suite :wink:

···

Le Wed, 23 Dec 2009 03:13:43 -0800 (PST), >Seventies <****@****> a écrit :

Bonjour à tous.

Suite à un topic précédent, je cherchais à utiliser une voix
invisible pour insérer des sauts de lignes et éviter ainsi le bug de
Lilypond qui parfois impose un break au milieu d'une ligne.

Mais voilà, cette ligne invisible est visible sur le premier système.

Bonjour,

Dans ce cas tu peux définir un staffSaMaFlotevoid qui ressemblerait à :

staffSaMaFlotevoid = \new Staff {
   <<
     \voiceSaMavoid
     \voiceSaMaFlote
   >>
}

Et utiliser \staffSaMaFlotevoid à la place de \staffSaMaFlote dans ton
Score.

Ok, merci, j'ai trouvé mon erreur : je confondais Voice et Staff (pas
évident pour un débutant). La solution ci-dessus marche parfaitement.

Oui, c'est pour ça que dans ma proposition j'avais renommé ton
staffSaMavoid en voiceSaMavoid.

En revanche, j'ai toujours les coupures des systèmes en plein milieu
de page. Il faut trouver en quelle position placer le \break pour
assurer la continuité des systèmes.

Oui, c'est bizarre ton problème.
Mais comme cela ne semble apparaître que dans les (tes? ;-p) grosses
partitions, il ne sera à mon avis pas facile d'en déterminer la cause,
ni d'éventuellement trouver un exemple minimal pour espérer voir
corriger ce "bug".

Et comme la compilation dure plus de 35 minutes, ça ne va pas se
faire de suite :wink:

On te l'a peut-être déjà proposé mais pourquoi ne pas essayer

  \paper {
    #(define page-breaking ly:minimal-breaking)
  }

···

Le Fri, 25 Dec 2009 18:13:59 +0100, "j-f.lucarelli" <****@****> a écrit :

--
Xavier Scheuer <****@****>