Subject: Bug d'affichage de la commande \break entre une mesure 6/8 et 12/8

From: Vissale NEANG <[email-masked]>
Date: Tue, 23 Feb 2010 22:04:55 +0100

Bonjour,

J'ai un problème étrange avec la commande \break lorsqu'elle est
insérée entre une mesure 6/8 et 12/8 (notation batterie), la signature
12/8 s'affiche en fin de ligne. Est ce que je fais quelque chose
d'incorrect musicalement (je débute) ou est ce un bug de Lilypond ?

http://www.servimg.com/image_preview.php?i=240&u=11871667

Je suis sous Lilypond 2.12.3 sous Windows XP.

Cordialement

Vissale NEANG

%%%%%
\version "2.12.0"  % necessary for upgrading to future LilyPond versions.

\header
{
    title = "Hello World"
}

#(define mydrums '(
            (bassdrum default #f -5)
            (snare default #f 0)
            (hihat cross #f 5)
            (closedhihat cross #f 5)
            (ridecymbal cross #f 6)
            (crashcymbala cross #f 7)
            (crashcymbalb cross #f 6)
            (lowfloortom default #f -3)
            (lowtom default #f 2)
            (halfopenhihat xcircle #f 5)
            (openhihat xcircle "open" 5)
            ))

\new DrumStaff \with
{
    \remove "Time_signature_engraver"
    \remove "Clef_engraver"
    \remove "Bar_engraver"

    fontSize = #-3
    \override StaffSymbol #'staff-space = #(magstep -3)
}
<<
    \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
    \stemDown \drummode
    {
        \time 1/4
        \textLengthOn
        sn4^\markup {\rotate #45 \line {snare}}

        \stemUp
        hh^\markup {\rotate #45 \line {hi-hat}}
        hhho^\markup {\rotate #45 \line {half open}}
        cymca^\markup {\rotate #45 \line {crash}}
        cymr^\markup {\rotate #45 \line {ride}}
    }

\new DrumStaff
<<
    \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)

    %#(override-auto-beam-setting '(end * * * *) 1 4 'DrumStaff)
    %#(override-auto-beam-setting '(end * * * *) 2 4 'DrumStaff)
    %#(override-auto-beam-setting '(end * * * *) 3 4 'DrumStaff)
    %#(override-auto-beam-setting '(end * * * *) 4 4 'DrumStaff)

    \stemDown \drummode
    {
        \time 12/8
        <<
            \new DrumVoice { \voiceOne { hh8 hh hh hh hh hh hh hh hh
hh hh hh } }
            \new DrumVoice { \voiceTwo { bd4. sn bd sn8 r bd} }

        \time 6/8
        <<
            \new DrumVoice { \voiceOne { hh8 hh hh hh hh hh } }
            \new DrumVoice { \voiceTwo { bd4. sn } }
        \break

        \time 12/8
        <<
            \new DrumVoice { \voiceOne { hh8 hh hh hh hh hh hh hh hh
hh hh hh } }
            \new DrumVoice { \voiceTwo { bd4. sn bd sn8 r bd} }
    }

%%%%%

---

From: Nicolas Klutchnikoff <[email-masked]>
Date: Tue, 23 Feb 2010 22:40:13 +0100

Bonjour,

Ce n'est pas un bug c'est une fonctionnalité ! Ça facilite la lecture
en prévenant à l'avance qu'il y a un changement de mesure à la ligne.
Cependant, il est possible de modifier le comportement de LilyPond en
ajoutant la ligne

\override DrumStaff.TimeSignature #'break-visibility = ##(#f #t #t)

Il y a peut-être plus simple...

Nicolas.

---

From: Xavier Scheuer <[email-masked]>
Date: Tue, 23 Feb 2010 22:50:06 +0100

Bonjour,

Non ce n'est pas un bug, c'est parfaitement voulu.

Il s'agit d'une pratique régulière dans l'édition musicale (en fait je
pense que toute bonne maison d'édition utilise cette pratique) :

  si un changement de métrique (ou d'armure) se produit à un saut de
  ligne, on affiche en fin de la ligne précédente une métrique (armure)
  d'avertissement (pour prévenir qu'on va changer), ça s'appelle une
  "métrique de précaution".

Pour empêcher ces métriques de précaution il suffit d'introduire

  \override DrumStaff.TimeSignature #'break-visibility = #end-of-line-invisible

à l'intérieur de votre DrumStaff.

Ou bien encore

  \with {
    \override TimeSignature #'break-visibility = #end-of-line-invisible
  }

à DrumStaff (où a lieu cette métrique de précaution).

J'espère que c'est clair.
Cordialement,

Xavier

--
Xavier Scheuer <[email-masked]>

---

From: Vissale NEANG <[email-masked]>
Date: Tue, 23 Feb 2010 23:22:04 +0100

Ah zut, je ne savais pas du tout ! ça m'avait traversé l'esprit mais
je pensais vraiment à un bug.

Si c'est la norme d'écriture alors ça me va très bien je laisse comme c'est.

Merci encore pour les éclaircissements

Cordialement