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

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

Re: Portées vides invisibles


From: Jean-Jacques Gerbaud
Subject: Re: Portées vides invisibles
Date: Wed, 14 Jan 2015 18:18:08 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.3.0

Le 14/01/2015 16:15, Pierre Perol-Schneider a écrit :
Oups, avec les bons instruments c'est mieux :

\version "2.18.2"
...........
J'ai probablement pas bien compris le problème. Et d'abord, pourquoi ne pas utiliser la formule adéquate pour ne pas faire apparaître les portées vides, à savoir
\layout { \context {
         \RemoveEmptyStaffContext
\override VerticalAxisGroup #'remove-first = ##t

Pour résoudre le problème de notre ami Bernard comme dit plus haut, je ne sais pas ce qu'il recherche mais je remarque que Pierre, dans son exemple, met des \break après 20 mes. Cette commande ne doit (normalement) intervenir qu'une seule fois, pour la 1ère voix, les autres instruments suivant cette commande.

D'autre part, les instruments sont groupés par 2 (1_2 et 3_4). De plus, la partition ne comporte que des silences.

Cependant, je me suis amusé à essayer de voir si tous les instruments étaient indépendants les uns des autres, avec des "vraies" notes et surtout, s'il ne s'arrêtent pas - et reprennent - à des endroits différents.

En deux mots, ça fait un beau cafouillage - mais sans erreur de Lilypond ! Je mets le code ci-après que j'ai agrémenté de quelques petites fioritures destinées à avoir quelques points de repère.



\version "2.18.0"

global = {
  \time 2/2
  \key a\major
}

resetBarnum = \context Score \applyContext % pour la numérotation des mesures
  #(set-bar-number-visibility 3)

musiqueUn = {
  \set Staff.shortInstrumentName = "I_1"
  \global
  \repeat unfold 28 { cis'1 } %10 mesures de "do"
  \stopStaff
  \break
  %{
  \omit Staff.Clef
  \omit Staff.TimeSignature
  \omit Staff.KeySignature
  %}
  \override Staff.Clef.stencil = ##f
  \override Staff.KeySignature.stencil = ##f
  \override Staff.TimeSignature.stencil = ##f
  \unset Staff.shortInstrumentName
 \repeat unfold 20 {s1} %20 mes. de pause
  %\omit Staff.BarLine
  \override Staff.BarLine.stencil = ##f

  \startStaff
  %{
  \undo\omit Staff.Clef
  \undo\omit Staff.TimeSignature
  \undo\omit Staff.KeySignature
  %}
  \revert Staff.Clef.stencil
  \revert Staff.KeySignature.stencil
  \revert Staff.TimeSignature.stencil
  \set Staff.shortInstrumentName = "I_1"
  \break
  \repeat unfold 22 { cis'1} % 22 mesures de reprise
  %\undo\omit Staff.BarLine
  \revert Staff.BarLine.stencil
%  \repeat unfold 118 { b1 }
  \bar "|."
}
%%%%%%%%%%%    fin musique 1     %%%%%%%%%%%%%%
musiqueDeux = {

       \set Staff.shortInstrumentName = "I_2"
  \global
  \repeat unfold 20 { e'1 } %20 mesures de "mi"
  \stopStaff
%  \break
  %{
  \omit Staff.Clef
  \omit Staff.TimeSignature
  \omit Staff.KeySignature
  %}
  \override Staff.Clef.stencil = ##f
  \override Staff.KeySignature.stencil = ##f
  \override Staff.TimeSignature.stencil = ##f
  \unset Staff.shortInstrumentName
 \repeat unfold 35 {s1}
  %\omit Staff.BarLine
  \override Staff.BarLine.stencil = ##f

  \startStaff
  %{
  \undo\omit Staff.Clef
  \undo\omit Staff.TimeSignature
  \undo\omit Staff.KeySignature
  %}
  \revert Staff.Clef.stencil
  \revert Staff.KeySignature.stencil
  \revert Staff.TimeSignature.stencil
  \set Staff.shortInstrumentName = "I_2"
  \break
  \repeat unfold 15 { cis'1}
  %\undo\omit Staff.BarLine
  \revert Staff.BarLine.stencil
%  \repeat unfold 118 { b1 }

}

%%%%%%%%%%%%    fin musique 2     %%%%%%%%%%%%%%%%
musiqueTrois = {
  \set Staff.shortInstrumentName = "I_3"
  \global
  \repeat unfold 28 { a'1 } %28 mesures de "la"
  \stopStaff
%  \break
  %{
  \omit Staff.Clef
  \omit Staff.TimeSignature
  \omit Staff.KeySignature
  %}
  \override Staff.Clef.stencil = ##f
  \override Staff.KeySignature.stencil = ##f
  \override Staff.TimeSignature.stencil = ##f
  \unset Staff.shortInstrumentName
 \repeat unfold 30 {s1}
  %\omit Staff.BarLine
  \override Staff.BarLine.stencil = ##f

  \startStaff
  %{
  \undo\omit Staff.Clef
  \undo\omit Staff.TimeSignature
  \undo\omit Staff.KeySignature
  %}
  \revert Staff.Clef.stencil
  \revert Staff.KeySignature.stencil
  \revert Staff.TimeSignature.stencil
  \set Staff.shortInstrumentName = "I_3"
  \break
  \repeat unfold 12 { cis'1}
  %\undo\omit Staff.BarLine
  \revert Staff.BarLine.stencil

}

%%%%%%%%%%%%%%%    fin musique 3     %%%%%%%%%%%%%%%%%%%
musiqueQuatre = {
    \set Staff.shortInstrumentName = "I_4"
  \global
  \repeat unfold 25 { fis'1 } %10 mesures de "fa"
  \stopStaff
%  \break
  %{
  \omit Staff.Clef
  \omit Staff.TimeSignature
  \omit Staff.KeySignature
  %}
  \override Staff.Clef.stencil = ##f
  \override Staff.KeySignature.stencil = ##f
  \override Staff.TimeSignature.stencil = ##f
  \unset Staff.shortInstrumentName
 \repeat unfold 25 {s1}
  %\omit Staff.BarLine
  \override Staff.BarLine.stencil = ##f

  \startStaff
  %{
  \undo\omit Staff.Clef
  \undo\omit Staff.TimeSignature
  \undo\omit Staff.KeySignature
  %}
  \revert Staff.Clef.stencil
  \revert Staff.KeySignature.stencil
  \revert Staff.TimeSignature.stencil
  \set Staff.shortInstrumentName = "I_4"
  \break
  \repeat unfold 20 { cis'1} % on reprend pendant 20 mes.
  %\undo\omit Staff.BarLine
  \revert Staff.BarLine.stencil

}

%%%%%%%%%%%%    fin musique 4     %%%%%%%%%%%%%%%%%%

\score {
  \new StaffGroup <<

       {
         \override Score.BarNumber.break-visibility =#end-of-line-invisible
         \override Score.BarNumber #'font-size = #0.1
         \override Score.BarNumber #'font-shape = #'italic
         \override Score.BarNumber #'color = #red
         \override Score.BarNumber.self-alignment-X = #LEFT
         \resetBarnum
  }
    \new Staff \with {
      instrumentName = "Inst1"
      shortInstrumentName = "I_1"
    } \musiqueUn

    \new Staff \with {
      instrumentName = "Inst2"
      shortInstrumentName = "I_2"
    } \musiqueDeux

    \new Staff \with {
      instrumentName = "Inst3"
      shortInstrumentName = "I_3"
    } \musiqueTrois

    \new Staff \with {
      instrumentName = "Inst4"
      shortInstrumentName = "I_4"
    } \musiqueQuatre

  >>
}

Mon exemple vaut ce qu'il vaut et je ne suis pas sûr qu'il va plaire à Bernard ! Avec la commande "\RemoveEmptyStaffContext" le résultat est évidemment bien meilleur mais Bernard n'en veut pas.

C'est tout, bonne soirée.

--
JJG

utilisateur de gnu.linux depuis des années (mais toujours... débutant !)
http://www.radiosuisseclassique.ch/fr



reply via email to

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