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: Xavier Scheuer
Subject: Re: staff et silence pour les nuls
Date: Sun, 30 Jan 2011 21:42:48 +0100

2011/1/30 simdax <address@hidden>:
>
> 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.

Oui il "meurent", c'est pourquoi il faut que vous les "gardiez en vie".
C'est expliqué dans le manuel de notation, dans une section appelée
justement "Garder les contextes en vie".
NR 5.1.3 Keeping contexts alive
http://lilypond.org/doc/v2.13/Documentation/notation/keeping-contexts-alive


> Je comprends bien qu'il faudrait faire un truc du genre
> <<
> \debut
> \mestrucs
> \àl'affilé
> \etc.
> >>

Non, si vous voulez qu'il soient à l'affilé, il faut les mettre dans des
accolades (cf. lien donnés par Jean-Charles).

<<
  {  % XS: accolade, ce qui suit sera évalué l'un après l'autre
    \debut
    \mestrucs
    \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.
> >>

Mais pourtant vous voudriez que LilyPond "complète" les parties
manquantes par des silences (quand l'autre instrument ne joue pas
pendant que "sax" joue "premier truc"), non  ?

Dans ce cas pour éviter de devoir calculer la durée totale des silences
pour "premier truc", vous pourriez utiliser la technique recommandée
pour les cadences.

#(ly:export (mmrest-of-length premiertruc))

NR 1.2.6 Fonctionnalités rythmiques particulières > Alignement et
cadences
http://lilypond.org/doc/v2.13/Documentation/notation/special-rhythmic-concerns#aligning-to-cadenzas


> 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

Comme ceci ?

\version "2.13.47"

debut = {
  <<
    \context Staff = "sax" \with {
      instrumentName = #"Saxophone"
    } {
      s1*4  % durée totale du morceau
    }
    \context Staff = "autre" \with {
      instrumentName = #"Autre"
    } {
      s1*4  % durée totale du morceau
    }
  >>
}

partieUn = \context Staff = "sax" {
  \relative c' {
    c4 d e f |
    g4 a b c
  }
}

partieDeux = \context Staff = "autre" {
  \relative c'' {
    c4 b a g |
    f4 e d c
  }
}

\score {
  <<
    \debut
    {
      \partieUn
      \partieDeux
    }
  >>
}


Mais dans ce cas LilyPond ne "complète" pas les parties vides par des
silences (cf. ci-dessus).

Cordialement,
Xavier

-- 
Xavier Scheuer <address@hidden>



reply via email to

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