Subject: Re: Masquer des portée identiques

From: Xavier Scheuer <[email-masked]>
Date: Sun, 26 Aug 2012 02:07:34 +0200

2012/8/25 j-f.lucarelli <[email-masked]>:
>
> Voilà une question récurrente en écriture orchestrale,
> pour laquelle je n'ai pas encore trouvé de solution satisfaisante.

C'est une fonctionnalité qui me manque aussi et à laquelle je pensais
faire une demande depuis un certain temps, c'est chose faite !
N'hésitez pas à compléter/corriger ce que j'ai dit (j'ai mis Loïc
et Jean-François en copie).

De plus si vous avez des exemples de partitions imprimées (maisons
d'éditions renommées ou règles de gravure musicale) montrant les façons
de faire ces "combinaisons/divisi" sur différente portées, ce serait
gentil de les envoyer aux développeurs.

> Il me semble que le problème n'a pas de solution, car il faut que
> LilyPond ait fixé les sauts de système pour manuellement cacher les
> voix séparées ou la voix unique. Pas évident donc, mais une solution
> pour la version 2.18 ?

En fait en prenant le code de "partcombine" et en mixant/modifiant
RemoveEmptyStaves pour qu'il supprime les portées lorsque la musique
est identique (comme partcombine) plutôt que lorsqu'il y a des silences
on devrait déjà s'approcher d'une version basique de cette
fonctionnalité il me semble.
Mais je laisse les développeurs dire ce qu'ils en pensent, pour la
version 2.18 peut-être.

> Bref, les suggestions sont les bienvenues ...

Tout à fait.

Cordialement,
Xavier

-- 
Xavier Scheuer <[email-masked]>

---

From: Loïc Chahine <[email-masked]>
Date: Sun, 26 Aug 2012 09:59:07 +0200

Merci pour ces réponses ! Je vais bidouiller manuellement... Dans mon 
cas, l’idéal — en l’état du moins — aurait été d’écrire une petite 
fonction, et je vois assez bien comment je l’aurais écrite en LaTeX, 
mais pas en Scheme. Si je trouve la patience et que j’arrive à le faire, 
je l’enverrai ! Dans tous les cas, je vous enverrai le lien vers la 
partition quand elle sera en ligne (sur IMSLP, comme d’hab). De toute 
façon ça se produit juste ponctuellement dans la partition en question 
(sur cinq voix, aussi, ç’aurait été un peu douteux d’en mettre deux à 
l’unisson tout le temps ! c’est pas du Vivaldi non plus).

Autre question du même genre, et je suis à peu près sûr d’avoir déjà 
passer ça : à la fin d’un mouvement, il ne reste qu’un seul système d’un 
StaffGroup (je fais RemoveEmptyStaves), et du coup je n’ai plus le 
crochet du StaffGroup, mais j’aimerais l’avoir quand même. En fait, la 
partition est comme ça :
<< ob   StaffGroup ( vl1 vl2 vla bc ) >>
et à la fin, il n’y a plus que ob et bc. Je trouverais ça plus joli avec 
le crochet sur une seule portée, plutôt que d’avoir deux portées sans 
rien sur le côté.

---

From: Gilles <[email-masked]>
Date: Sun, 26 Aug 2012 10:34:03 +0200

> fonctionnalité il me semble.

J'ai bien lu le message envoyé à la liste anglaise.
Est-ce que quelque chose comme ça peut faire l'affaire ?

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%  internal %%%%%%%%%%%%%%%%%%%
%% see http://lsr.dsi.unimi.it/LSR/Item?id=312
killPercentRepeats = {
  \set Staff.keepAliveInterfaces = #'(
     rhythmic-grob-interface
     lyric-interface
     stanza-number-interface
     ;;percent-repeat-interface ; we comment that
     )
}

staffApart = #(define-music-function (parser location musA musB)  
(ly:music? ly:music?)
#{
    <<
      $musA
      \context Staff = "B" {
         \override Staff.PercentRepeat #'stencil = ##f
         $musB
         \revert Staff.PercentRepeat #'stencil
      }
#})

%%%%%%%%%%%%%%%%%%% user %%%%%%%%%%%%%%%%%%%%%%%

musicA = { \repeat unfold 17 c''1
            \staffApart
                { \repeat unfold 5 c''1 }
                { \repeat unfold 5 f'1 }
            \repeat unfold 18 c''1

}
musicB = { \killPercentRepeats \repeat percent 40 s1 }

              %%%%%%%%% the score %%%%%%%%%%%

\layout {
   \context {
     \Staff
       \RemoveEmptyStaves
       \override VerticalAxisGroup #'remove-first = ##t
   }
}

\new GrandStaff {
   <<
     \context Staff = "A" \musicA
     \context Staff = "B" \musicB
  }

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Gilles

---

From: Nicolas Sceaux <[email-masked]>
Date: Sun, 26 Aug 2012 10:59:32 +0200

> fonctionnalité il me semble.

On peut déjà dire soi-même quels passages sont à éluder, de façon à ce que
la portée disparaisse dans le conducteur.

%% Début de zone à éluder
startHaraKiri = \set Staff.keepAliveInterfaces = #'()
%% Fin de zone à éluder
stopHaraKiri = \unset Staff.keepAliveInterfaces

%% Début de zone à ne surtout pas éluder
%% (même s'il n'y a que des silences)
noHaraKiri = \set Staff.keepAliveInterfaces =
#'(multi-measure-interface
    rhythmic-grob-interface
    lyric-interface
    percent-repeat-item-interface
    percent-repeat-interface
    stanza-number-interface)
%% Fin de zone à ne surtout pas éluder
revertNoHaraKiri = \unset Staff.keepAliveInterfaces

\new StaffGroup \relative c'' <<
   \new Staff { g1\break g\break g }
   \new Staff \with { \RemoveEmptyStaves } {
     e1 \startHaraKiri e \stopHaraKiri e
   }
   \new Staff { c1 c c }

---

From: Loïc Chahine <[email-masked]>
Date: Sun, 26 Aug 2012 11:46:54 +0200

Testé et approuvé ! Très simple à utiliser en plus… Merci !

Le 26/08/12 10:59, Nicolas Sceaux a écrit :
> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr
>
>