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 20:00:15 +0100

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...



Le vendredi 24 décembre 2010 à 01:16 +0100, Valentin Villenave a écrit :
> 2010/12/24 simdax <address@hidden>:
> > \score{
> >
> > <<
> >        \partieUn
> >        \partieDeux
> >        \partieTrois
> >>>
> > }
> >
> > Mais j'aimerais que cela soit linéaire, or là, il me met toutes mes
> > parties en même temps. Comment je peux lui dire de d'abord traiter la
> > partieUn, puis la partieDeux etc. ??
> 
> La construction << >> indique précisément des évènements simultanés !
> Essayez plutôt ceci ;
> 
> totoUn =
> \context StaffGroup = "mongroupe" <<
>   \context Staff = "etDun" { g'1 }
>   \context Staff = "etDeDeux" { e'1 }
>   \context Staff = "etDeTrois" { c'1 }
> >>
> 
> totoDeux =
> \context StaffGroup = "mongroupe" <<
>   \context Staff = "etDun" { a'1 }
>   \context Staff = "etDeDeux" { f'1 }
>   \context Staff = "etDeTrois" { d'1 }
> >>
> 
> totoTrois =
> \context StaffGroup = "mongroupe" <<
>   \context Staff = "etDun" { b'1 }
>   \context Staff = "etDeDeux" { g'1 }
>   \context Staff = "etDeTrois" { e'1 }
> >>
> 
> \score {
>   {
>     \totoUn
>     \totoDeux
>     \totoTrois
>   }
> }
> 
> Ou bien, vous pouvez faire des blocs \score {} séparés :
> 
> \score {
>   \totoUn
> }
> 
> \score {
>   \totoDeux
> }
> 
> \score {
>   \totoTrois
> }
> 
> Cordialement,
> V. Villenave.
> 





reply via email to

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