Subject: numéro de première mesure incomplète + changement de clef dès le début

From: Loïc Chahine <[email-masked]>
Date: Mon, 12 Dec 2011 16:35:16 +0100

Bonjour à tous,
En fait je suis en train de graver des exemples pour un article. Du 
coup, je voudrais pouvoir indiquer le numéro de la première mesure (pour 
dire où est l'exemple dans l'oeuvre), mais c'est souvent une mesure 
partielle (du genre \set Timing.measurePosition = #(ly:make-moment -1 4) 
) et du coup, la solution classique :
     \relative c {
         \set Score.currentBarNumber = #23
         \set Timing.measurePosition = #(ly:make-moment -1 4)
         \clef bass
         \bar ""
<b e a>4~ |
<b e a>4
<< { \stemDown <bes d a'>( \stemUp fis' g4~ g) } \\
              { s4 <bes, d>2~ <bes d>4 } >>
     }

ne fonctionne pas (avec ou sans \set Score.barNumberVisibility = 
#all-bar-numbers-visible )
Y a-t-il un bidouillage pour ça ? Mettre du s ça créerait un espace hideux.

Et en passant : c'est des extraits d'une partition de piano (sonate en 
/si/ de Liszt). Dans la version manuscrite que j'ai, il y a toujours une 
clef de sol à la portée du haut, même si elle est immédiatement changée 
en /fa/. Comment on fait pour avoir /quand même/ la clef de /sol/ ? 
LilyPond la vire automatiquement (et comme je le comprends...).

Merci d'avance !
L.

---

From: Eluze <[email-masked]>
Date: Mon, 12 Dec 2011 14:40:18 -0800 (PST)

Loïc A. Chahine wrote
> Du 
il y a aussi /\override Score.BarNumber #'break-visibility = #'#(#t #t #t)/

ce n'est peut-être pas parfait!?!

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/numero-de-premiere-mesure-incomplete-changement-de-clef-des-le-debut-tp7086503p7088058.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Xavier Scheuer <[email-masked]>
Date: Tue, 13 Dec 2011 00:05:24 +0100

2011/12/12 Loïc Chahine <[email-masked]>:
> Bonjour à tous,
> En fait je suis en train de graver des exemples pour un article. Du coup, je
> voudrais pouvoir indiquer le numéro de la première mesure (pour dire où est
> l’exemple dans l’œuvre), mais c’est souvent une mesure partielle (du genre
> \set Timing.measurePosition = #(ly:make-moment -1 4) ) et du coup, la
> solution classique :
>     \relative c {

Bonsoir,

  \set Score.barNumberVisibility = #all-bar-numbers-visible
sert uniquement à imprimer le chiffre "1" (sinon tous les numéros de
mesure sont imprimés en début de ligne _sauf le "1"_).

Utilise
  \override Score.BarNumber #'break-visibility = #'#(#t #t #t)
puis
  \revert Score.BarNumber #'break-visibility
_après_ la première barre de mesure

ou bien
  \once \override Score.BarNumber #'break-visibility = #'#(#t #t #t)
_au moment de_ la première barre de mesure.

Sinon Mike est en train de nous pondre un PATCH pour permettre
d'afficher les numéros de mesures en début de ligne pour les mesures
incomplètes : http://code.google.com/p/lilypond/issues/detail?id=460

> Et en passant : c’est des extraits d’une partition de piano (sonate en si de
> Liszt). Dans la version manuscrite que j’ai, il y a toujours une clef de sol
> à la portée du haut, même si elle est immédiatement changée en fa. Comment
> on fait pour avoir quand même la clef de sol ? LilyPond la vire
> automatiquement (et comme je le comprends…).

Comme ceci ?  C'est trucoïde mais ça fonctionne :

  \override Staff.Clef #'stencil = #ly:text-interface::print
  \override Staff.Clef #'text =
    \markup { \raise #-1 \musicglyph #"clefs.G_change" \musicglyph #"clefs.F" }
  \override Staff.Clef #'X-extent = #'(0 . 6.8)

Sinon il doit aussi y avoir moyen (un peu moins trucoïde ?) d'y arriver
en utilisant une \cueClef (+ l'un ou l'autre \override ).

Cordialement,
Xavier

-- 
Xavier Scheuer <[email-masked]>

---

From: Loïc Chahine <[email-masked]>
Date: Wed, 14 Dec 2011 18:17:48 +0100

Bonsoir,
Et merci pour ta réponse ! Malheureusement ça n’a pas l’air de 
fonctionner, ou bien je fais quelque chose mal…

\version "2.14.2"

\score {
     \new PianoStaff
<<
         \new Staff = "up" {
             \once \override Staff.TimeSignature #'stencil = ##f
             \clef treble
             \key a \major
             \relative c'' {
                 \set Score.currentBarNumber = #82
                 \set Timing.measurePosition = #(ly:make-moment -1 2)
                 \once \override Score.BarNumber #'break-visibility = 
#'#(#t #t #t)
                 \bar ""
                 \times 2/3 { r8 <bis bis'> <cis cis'> } \times 2/3 { <d 
d'> r r }
                 }
         }
         \new Staff = "down" {
             \once \override Staff.TimeSignature #'stencil = ##f
             \clef bass
             \key a \major
             \relative c {
                 \set Timing.measurePosition = #(ly:make-moment -1 2)
                 \once \override Score.BarNumber #'break-visibility = 
#'#(#t #t #t)
                 \bar ""
                 \times 2/3 { r8 <bis bis'> <cis cis'> } \times 2/3 { <d 
d'> r r }
             }
         }
     \header {
         piece = \markup { Titre }
     }
     \layout {
         indent = 0
     }
}

---

From: Xavier Scheuer <[email-masked]>
Date: Wed, 14 Dec 2011 22:52:42 +0100

2011/12/14 Loïc Chahine <[email-masked]>:
> Bonsoir,
> Et merci pour ta réponse ! Malheureusement ça n’a pas l’air de fonctionner,
> ou bien je fais quelque chose mal…

Bonsoir,

Le code que j'ai donné permet d'afficher le numéro de mesure au dessus
de la **VRAIE** première barre de mesure.  Donc il faut placer le
  \once \override Score.BarNumber #'break-visibility = #'#(#t #t #t)
_au moment de_ de la **VRAIE** première barre de mesure.
Cf. code ci-dessous.

Pour afficher un numéro en début de ligne, au-dessus de la première
mesure _qui est incomplète_ (i.e. pas au niveau d'une barre de mesure)
il faut attendre le patch de Mike.
http://code.google.com/p/lilypond/issues/detail?id=460

%%%%

\version "2.14.2"

\score {
  \new PianoStaff
  <<
    \new Staff = "up" {

        % \once \override Score.BarNumber #'break-visibility = #'#(#t #t #t)
        % \bar ""
        \times 2/3 { r8 <bis bis'> <cis cis'> } \times 2/3 { <d d'> r r } |
        % XS: ICI!!
        \once \override Score.BarNumber #'break-visibility = #'#(#t #t #t)
        c1
      }
    }
    \new Staff = "down" {
      \once \override Staff.TimeSignature #'stencil = ##f
      \clef bass
      \key a \major
      \relative c {
        \set Timing.measurePosition = #(ly:make-moment -1 2)

        % \once \override Score.BarNumber #'break-visibility = #'#(#t #t #t)
        % \bar ""
        \times 2/3 { r8 <bis bis'> <cis cis'> } \times 2/3 { <d d'> r r } |
        c1
      }
    }
  \header {

%%%%

Cordialement,
Xavier