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

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

Re: staff et silence pour les nuls


From: simdax
Subject: Re: staff et silence pour les nuls
Date: Sun, 30 Jan 2011 21:35:22 +0100

Je dois vous avouer que cela fait un certain nombre de fois que je relis
ces sections et que je ne vois à aucun endroit où il est question de la
durée de vie des contextes.

Ce que je vois dans la doc est tout de même assez laconique

"
Un bloc \score doit contenir une et une seule expression musicale,
exprimée immédiatement à la suite de la commande \score. Rappelez-vous
que cette expression peut être n’importe quoi, d’une note isolée à un
gigantesque
{
  \new StaffGroup <<
    ...collez ici la partition complète d'un opéra de Wagner...
  >>
} "

        
debut={
  \context Staff = "voix"                                                       
                                                        
  {
    \set Staff.instrumentName=#"voix"
    \set Staff.shortInstrumentName=#"voix"
  }
  \context Staff = "sax"                                                        
                                                          
  {
    \set Staff.instrumentName=#"saxophone"
    \set Staff.shortInstrumentName=#"saxophone"
  }

  \context Staff = "guitare"                                                    
                                                          
  {
    \set Staff.instrumentName=#"guitare"
    \set Staff.shortInstrumentName=#"guitare"
  }

  \context Staff="piano" {\set Staff.instrumentName=#"piano"}
  \context StaffGroup = "rythmique"
  <<
    \context Staff = "basse" % \with{\remove "Note_heads_engraver"              
                                                                             
                                %         \consists "Completion_heads_engraver" 
                                                                             
                                %       }                                       
                                                                             
    {\set Staff.instrumentName=#"basse"
     \set Staff.shortInstrumentName=#"basse"
     \clef "bass"}

    \context DrumStaff = "batterie" {
      \set Staff.instrumentName=#"batterie"
      \set Staff.shortInstrumentName=#"batterie"}
>>
}
\version "2.13.46"


\score{

   {
     \debut 
  %   
%       J'ai ici déjà perdu toutes les informations que j'avais mises
                                                                                
                                                                   
     \context StaffGroup="rythmique"
     \context Staff = "basse" {c c}
     \context StaffGroup ="rythmique"
     \context DrumStaff ="batterie" {\drummode{sn sn sn}}
     \context Staff = "sax" {c c}
     \context Staff = "basse" {c c}
     \context Staff="sax" {d d}
 }
}

Au final il va me crééer d'abord 6 portées vides (dans \debut, sauf les notes 
de "basse" (??)),
puis successivement quatre nouvelles portées batterie, sax basse et sax, alors 
que j'aimerais bien entendu que ces informations aillent dans les portées crées 
spécialement pour elles au début
                                                                                
                                                                    
Si quelqu'un est capable de me dire comment corriger ce code, ou alors de me 
dire si cette manière de penser n'est pas celle de lilypond, je lui en serais
très reconnaissant

Merci d'avance,
Simon Cornaz



Le dimanche 30 janvier 2011 à 20:43 +0100, Jean-Charles Malahieude a
écrit :
> Le 30/01/2011 20:00, simdax disait :
> > Je suis désolé de reprendre le même problème mais je n'ai toujours
> > pas bien compris je crois.
> >
> > Ce que je veux et que je n4arrive pas a faire
> >
> > Je déclare dans une variable toutes mes portées, qui représente les
> > instruments qui jouent le morceau. Bien entendu (ce serait trop
> > simple) ces instruments ne jouent tous pas en même temps, mais de
> > manière général les uns après les autres.
> >
> > Je déclare en début de \score une variable qui "instancie" mes
> > portées debut={ \context Staff = "sax" {%ici des propriétés, genre
> > \set instrumentName etc.} \context Staff = "autre instrument" etc. }
> >
> > Ensuite je voudrais simplement m'y référer de cette manière
> > partieUn={ \context Staff = "sax" {\maMusique} } partieDeux={
> > \context Staff "autre instrument"{\deLamusique} } %% etc etc.
> >
> > %% on arrive enfin au score
> >
> > \score{
> >
> > \debut %% on instancie les portées
> >
> > \partieUn %% de la musique \partieDeux %% une autre partie etc. }
> >
> > Or, il me semble que les contextes que j'instancie au début
> > "meurent" à la fin de la déclaration de \debut, et donc en fait
> > partieUn et les autres crééent implicitement de nouveaux contextes,
> > mais sans les propriétés que j'ai mises dans début.
> >
> > Je comprends bien qu'il faudrait faire un truc du genre << \debut
> > \mestrucs \àl'affilé \etc.
> >>>
> >
> > Mais tout va se retrouver ensemble. J'aimerais à ne pas avoir à
> > écrire devant chacune de mes expressions musicales
> >
> > << \debut \premiertruc s1*tant de mesures qu'a duré \premiertruc
> > \deuxiemetruc s1*tant de mesures qu'a duré \deuxiemetruc etc.
> >>>
> >
> > Dans la solution que Valentin avait donné, il redéclare à chaque
> > fois le contexte. totoUn déclare context StaffGroup "machin" qu'il
> > fait suivre de la musique, et puis totoDeux redéclare le même
> > contexte StaffGroup "machin" avec de la musique différente. Je vois
> > que je pourrais moi aussi faire un truc du genre
> >
> > \score{
> >
> > { <<  \debut \musiqueUn >> <<  \debut \musiqueDeux >> etc. } }
> >
> > Mais à chaque fois je redéclare des instruments qui ne jouent pas, et
> > donc on a aligné toutes les portées déclarés dans \debut, ce qui est
> > inutile...
> >
> > Je ne sais pas si mon problème est clairement exposé mais en gros,
> > comment créé des contextes qui durent toute la durée de l'expression
> >  musicale dans le \score, et puis s'y référer de manière linéaire
> >
> > \score{
> >
> > %% tout d'abord {\context Un \context Deux \context Trois}
> >
> > %%puis \musiqueUn \musiqueDeux %% qui utilise chacun des contexts
> > différents %% et ceci sans utiliser des<<  >>  pour les %% déclarer
> > avec les premiers context
> >
> > }
> >
> > Ou bien alors je n'ai rien compris au fonctionnement de lilypond et
> > en fait on ne peut pas procéder de cette manière??
> >
> > Merci de la patience de ceux qui seront allés jusqu'au bout du
> > post...
> >
> 
> Je vous invite à relire attentivement le chapitre 3 du manuel
> d'initiation (concepts fondamentaux)
> http://lilypond.org/doc/v2.13/Documentation/learning/fundamental-concepts
> 
> ainsi que le chapitre 3.1 du manuel de notation
> http://lilypond.org/doc/v2.13/Documentation/notation/input-structure
> 
> Bon courage,
> Jean-Charles
> 
> 





reply via email to

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