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

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

Re: Fonction avec argument pour la valeur d'un silence


From: Christophe Pochon
Subject: Re: Fonction avec argument pour la valeur d'un silence
Date: Fri, 17 May 2019 15:21:41 +0200

Bonjour,

Non, même problème, même sans passer par nabble.

Valentin, tu crois que tu peux faire quelque chose ? Bernard Barbier s'est bien abonné à la liste avec l'adresse address@hidden , mais je dois quand même valider à chaque fois ses messages.

Christophe Pochon



Le ven. 17 mai 2019 à 14:42, Bernard Barbier <address@hidden> a écrit :

Avec tous les soucis de transmission de messages, je reposte un super merci à Jean !

On va voir (merci Christophe) si ça passe mieux sans utiliser nabble !

( http://lilypond-french-users.1298960.n2.nabble.com/Re-Fonction-avec-argument-pour-la-valeur-d-un-silence-tp7587661p7587670.html )

Bernard.

On 16/05/2019 18:58, Jean ABOU SAMRA wrote:
Bonjour,
Il y a deux problèmes dans votre code. Examinons la ligne :

\tweak #'Y-offset #0 r#(arg1)

D'une part, (arg1) signifie en Scheme « appeler la fonction arg1 sans argument » (pensez par exemple à « (newline) »). Une version plus correcte serait donc #arg1 tout simplement.
D'autre part, LilyPond ne supporte pas que l'on mélange ainsi la syntaxe Scheme et son propre mode de notes. Il faudrait faire tout cela en Scheme et ce serait un peu plus complexe.

Heureusement, rien de tout cela n'est nécessaire ici puisqu'il suffit d'ajouter en tête de fichier :

\layout {
\context {
\Staff
% fusionner automatiquement les silences identiques entre les voix
\consists "Merge_rests_engraver"
}
}

La documentation est ici : http://lilypond.org/doc/v2.19/Documentation/notation/multiple-voices#merging-rests
Cordialement,
Jean Abou Samra.

Le 16 mai 2019 à 16:50, Bernard-B <address@hidden> a écrit :

Bonjour à tous, En tant que chef de chœur, je suis souvent en train de graver des partitions pour mes choristes... Et je sais que je ne suis pas le seul !!! Bref ! Des cas comme ci-dessous, j'en ai des tonnes :
\version "2.19.80"
\language "italiano"

\score {
  \new ChoirStaff <<
    \new Staff <<
      \new Voice = "S" { \voiceOne \relative do'' { r4 fa mi re }}
      \new Voice = "A" { \voiceTwo \relative do'' { r4 re do si }}
    >>
    \new Staff <<
      \clef bass
      \new Voice = "T" { \voiceOne \relative do { r4 fa mi re }}
      \new Voice = "B" { \voiceTwo \relative do { r4 re do si }}    
    >>
  >>
}
Et pour éclaircir la partition, je fais :
\version "2.19.80"
\language "italiano"
\score {
  \new ChoirStaff <<
    \new Staff <<
      \new Voice = "S" { \voiceOne \relative do'' { \tweak #'Y-offset #0 r4 fa mi re }}
      \new Voice = "A" { \voiceTwo \relative do'' { s4 re do si }}
    >>
    \new Staff <<
      \clef bass
      \new Voice = "T" { \voiceOne \relative do { \tweak #'Y-offset #0 r4 fa mi re }}
      \new Voice = "B" { \voiceTwo \relative do { s4 re do si }}    
    >>
  >>
}
Pour gagner du temps, j'ai tenté d'écrire une fonction :
BBrest = 
#(define-music-function
     (parser location arg1)
     (number?)
   #{
        \tweak #'Y-offset #0 r#(arg1) }
   #})
Afin de factoriser un peu mon code source et pouvoir écrire :
\version "2.19.80"
\language "italiano"
\score {
  \new ChoirStaff <<
    \new Staff <<
      \new Voice = "S" { \voiceOne \relative do'' { \BBrest #4 fa mi re }}
      \new Voice = "A" { \voiceTwo \relative do'' { s4 re do si }}
    >>
    \new Staff <<
      \clef bass
      \new Voice = "T" { \voiceOne \relative do { \BBrest #4 fa mi re }}
      \new Voice = "B" { \voiceTwo \relative do { s4 re do si }}    
    >>
  >>
}
À la compile (sous frescobaldi, nobody's perfect), j'ai :
/tmp/frescobaldi-dgs6e0a8/tmp95fxsx8p/document.ly:9:28: Avertissement : _expression_ non musicale ignorée
     \tweak #'Y-offset #0 r
                           #arg1 }
/tmp/frescobaldi-dgs6e0a8/tmp95fxsx8p/document.ly:9:34: Erreur : syntax error, unexpected '}'
     \tweak #'Y-offset #0 r#arg1 
                                 }
/tmp/frescobaldi-dgs6e0a8/tmp95fxsx8p/document.ly:43:53: Erreur : erreur dans #{ ... #}
      \new Voice = "S" { \voiceOne \relative do'' { 
                                                    \BBrest #4 fa mi re }}
Je me doute bien que je programme comme un noob... mais si quelqu'un avait la gentillesse de me dire où est ma grosse bêtise, je lui en serais reconnaissant, et pourquoi pas une p'tite bière !!! Un grand merci à tous ! Bernard.

Sent from the LilyPond French Users mailing list archive at Nabble.com.
_______________________________________________
liste de diffusion lilypond-user-fr
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

_______________________________________________
liste de diffusion lilypond-user-fr
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

reply via email to

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