\include "common.ily"

Bonjour à tous,

J'ai fait un fichier "common.ily" (ci-dessous) que j'ai placé dans lilypond.

ten = -\markup \italic "ten."
app = \appoggiatura
acc = \acciaccatura
agr = \afterGrace
gr = \grace
su = \stemUp
sd = \stemDown
sn = \stemNeutral

J'ai placé \include "common.ily" dans le code de ma partition, entre \header et \paper, au début.

Lorsque j'appelle certaines variables telles que ten, su ou sd la compilation se passe normalement mais pour
ou app ou agr

j'obtiens des erreurs.

Voici d'abord le code de ma partition :
\version "2.13.46"
.........

      \time 2/4
          \clef "treble"
          \key a \minor

          a'4\f e'
          e8. f16 d8. \su e16
          c8. e16 d8. f16
          \sn e4 a,
          d8. e16 d8. \app e16
          d8. f16 e8. d16
          e4.-+ (b16 c)
(un peu simplifié et les \su \app ou \sn sont placés au hasard

Et voici le résultat de la compilation :
"/home/viejo/Musique/fichiers_lilypond/Boismortier/sonate37_5_Allegro.ly"
Traitement de « /home/viejo/Musique/fichiers_lilypond/Boismortier/sonate37_5_Allegro.ly »
Analyse...
/home/viejo/lilypond/usr/share/lilypond/current/ly/common.ily:3:0: Erreur : syntax error, unexpected STRING

acc = \acciaccatura
/home/viejo/lilypond/usr/share/lilypond/current/ly/common.ily:4:0: Erreur : syntax error, unexpected STRING

agr = \afterGrace
/home/viejo/lilypond/usr/share/lilypond/current/ly/common.ily:5:0: Erreur : syntax error, unexpected STRING

gr = \grace
/home/viejo/lilypond/usr/share/lilypond/current/ly/common.ily:6:0: Erreur : syntax error, unexpected STRING

su = \stemUp
Interprétation en cours de la musique...[8][8]
Pré-traitement des éléments graphiques...
Interprétation en cours de la musique...
Sortie MIDI vers « sonate37_5_Allegro.midi »...
Détermination du nombre optimal de pages...
Répartition de la musique sur une page...
Dessin des systèmes...
Avertissement : pas de configuration initiale viable repérée :
la pente du lien pourrait être inesthétique.
Sortie mise en page vers « sonate37_5_Allegro.ps »...
Conversion à « ./sonate37_5_Allegro.pdf »...
Erreur : erreur sur les fichiers "/home/viejo/Musique/fichiers_lilypond/Boismortier/sonate37_5_Allegro.ly"
Durée totale du traitement : 2 secondes

A noter que lorsque j'écris \appoggiatura, la compilation aboutit normalement (heureusement !:slight_smile:

A noter également que si je mets les indications du fichiers du même fichier entre \header et \paper, seules les su, sd et sn sont reconnues.

Voilà, un petit problème à résoudre.

Merci pour vos réponses

···

--
JJG
(En raison du degré important de mon "oublitude", je demande à mes
correspondants de me prévenir à l'approche d'un rendez-vous prochain)

En voyant les messages d'erreur je dirais que c'est parce les commandes
\appoggiatura , \acciaccatura , \afterGrace ou encore \grace
requièrent _toutes_ un argument sous forme d'une expression musicale.
Donc c'est ce qui empêche de les "variabliser" comme tes "su" ou "ten".

Remplacer leur définition par une "music-function" résout le problème.

app = #(define-music-function (parser location expr) (ly:music?)
    #{ \appoggiatura $expr #})

(idem pour "acc", "agr", etc.)

D'ailleurs cela te permet de les utiliser pour plus d'une note :
  \app { f16[ g] } e8

Cordialement,
Xavier

PS : D'ailleurs dans le code de ta partition il manque la note
appogiaturée, non ?

···

2011/1/19 Jean-Jacques Gerbaud <****@****>:

Bonjour à tous,

J'ai fait un fichier "common.ily" (ci-dessous) que j'ai placé dans
lilypond.

ten = -\markup \italic "ten."
app = \appoggiatura
acc = \acciaccatura
agr = \afterGrace
gr = \grace
su = \stemUp
sd = \stemDown
sn = \stemNeutral

J'ai placé \include "common.ily" dans le code de ma partition, entre \header
et \paper, au début.

Lorsque j'appelle certaines variables telles que ten, su ou sd la
compilation se passe normalement mais pour
ou app ou agr

j'obtiens des erreurs.

[...]

A noter que lorsque j'écris \appoggiatura, la compilation aboutit
normalement (heureusement !:slight_smile:

A noter également que si je mets les indications du fichiers du même fichier
entre \header et \paper, seules les su, sd et sn sont reconnues.

Voilà, un petit problème à résoudre.

--
Xavier Scheuer <****@****>

Bonjour à tous,

J'ai fait un fichier "common.ily" (ci-dessous) que j'ai placé dans
lilypond.

ten = -\markup \italic "ten."
app = \appoggiatura
acc = \acciaccatura
agr = \afterGrace
gr = \grace
su = \stemUp
sd = \stemDown
sn = \stemNeutral

J'ai placé \include "common.ily" dans le code de ma partition, entre \header
et \paper, au début.

Lorsque j'appelle certaines variables telles que ten, su ou sd la
compilation se passe normalement mais pour
ou app ou agr

j'obtiens des erreurs.

[...]

A noter que lorsque j'écris \appoggiatura, la compilation aboutit
normalement (heureusement !:slight_smile:

A noter également que si je mets les indications du fichiers du même fichier
entre \header et \paper, seules les su, sd et sn sont reconnues.

Voilà, un petit problème à résoudre.

En voyant les messages d'erreur je dirais que c'est parce les commandes
  \appoggiatura , \acciaccatura , \afterGrace ou encore \grace
requièrent _toutes_ un argument sous forme d'une expression musicale.
Donc c'est ce qui empêche de les "variabliser" comme tes "su" ou "ten".

Remplacer leur définition par une "music-function" résout le problème.

app = #(define-music-function (parser location expr) (ly:music?)
     #{ \appoggiatura $expr #})

(idem pour "acc", "agr", etc.)

D'ailleurs cela te permet de les utiliser pour plus d'une note :
   \app { f16[ g] } e8

Merci Xavier
(j'ai laissé tout le texte pour que les éventuels visiteurs aient le problème en entier et, surtout, la solution !)

Oui, vraiment merci, je n'ai pas encore essayé ta solution mais je ne doute pas de tes capacités et de don résultat.

Si je comprends bien, ce fichier peut être amélioré au fur et à mesure des besoin et on peut le mettre une fois pour toutes dans toutes les partition...

C'est quand même plus facile (et plus court) de taper \app plutôt que appoggiatura (surtout qu'on oublie toujours un p ou un g !

PS : D'ailleurs dans le code de ta partition il manque la note
appogiaturée, non ?

Aahhh l'oeil du maître ! je n'avais marqué \app que pour l'exemple. Mais je vois que tu vois tout !

Merci encore et j'ai encore un autre problème à soumettre. Je prends un autre fil.

···

Le 19/01/2011 15:11, Xavier Scheuer a écrit :

2011/1/19 Jean-Jacques Gerbaud<****@****>:

--
JJG
(En raison du degré important de mon "oublitude", je demande à mes
correspondants de me prévenir à l'approche d'un rendez-vous prochain)

........

En voyant les messages d'erreur je dirais que c'est parce les commandes
  \appoggiatura , \acciaccatura , \afterGrace ou encore \grace
requièrent _toutes_ un argument sous forme d'une expression musicale.
Donc c'est ce qui empêche de les "variabliser" comme tes "su" ou "ten".

Remplacer leur définition par une "music-function" résout le problème.

app = #(define-music-function (parser location expr) (ly:music?)
     #{ \appoggiatura $expr #})

(idem pour "acc", "agr", etc.)

D'ailleurs cela te permet de les utiliser pour plus d'une note :
   \app { f16[ g] } e8

Merci Xavier, ça fonctionne pour \app et \acc mais pas pour \agr
La compilation ne passe pas pour \afterGrace.

Voici le message d'erreur :
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Analyse...
<string>:1:60: Erreur : syntax error, unexpected '}'
parseStringResult = \notemode { \afterGrace \lilyvartmpba
}/home/viejo/Musique/fichiers_lilypond/Boismortier/sonate37_5_Allegro.ly:471:2: Erreur : suite à des erreurs répétées, l'expression musicale sera ignorée

   <<
Succès de Compilation menée à son terme, avec succès.
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

La fin de mon fichier ==============================

       } % pour les "unfold 20
     >> % fin voix invisible
} % fin "relative { voix 3
  %%%%%%%%%% fin de la musique

\score {
  
   << %-----> ligne 471
   \new StaffGroup << % pour grouper les 3 voix

   {
          \override Score.BarNumber #'break-visibility =#end-of-line-invisible
          \override Score.RehearsalMark #'padding = #2.5
          \resetBarnum
   }

   \new Staff {\voixI }
   \new Staff {\voixII }

   \new Staff { \voixIII }

  >> % ---> fin du "groupage" des trois voix

  >> % (début : ligne 471)

  \layout { }
    
  \midi { }
} % ---> fin du score
  %%%%%%

···

Le 19/01/2011 15:11, Xavier Scheuer a écrit :

2011/1/19 Jean-Jacques Gerbaud<****@****>:

========================================

je ne comprends pas le message d'erreur

Et toi ?

Il ne faut pas faire une priorité de mon problème. Tu dois en avoir certainement d'autres de plus importants !

--
JJG
(En raison du degré important de mon "oublitude", je demande à mes
correspondants de me prévenir à l'approche d'un rendez-vous prochain)

Essaie de mettre des accolades autour de $expr dans ta définition de agr.

~Mike

···

On Jan 20, 2011, at 10:14 AM, Jean-Jacques Gerbaud wrote:

Le 19/01/2011 15:11, Xavier Scheuer a écrit :

2011/1/19 Jean-Jacques Gerbaud<****@****>:

........

En voyant les messages d'erreur je dirais que c'est parce les commandes
\appoggiatura , \acciaccatura , \afterGrace ou encore \grace
requièrent _toutes_ un argument sous forme d'une expression musicale.
Donc c'est ce qui empêche de les "variabliser" comme tes "su" ou "ten".

Remplacer leur définition par une "music-function" résout le problème.

app = #(define-music-function (parser location expr) (ly:music?)
    #{ \appoggiatura $expr #})

(idem pour "acc", "agr", etc.)

D'ailleurs cela te permet de les utiliser pour plus d'une note :
  \app { f16[ g] } e8

Merci Xavier, ça fonctionne pour \app et \acc mais pas pour \agr
La compilation ne passe pas pour \afterGrace.

Voici le message d'erreur :
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Analyse...
<string>:1:60: Erreur : syntax error, unexpected '}'
parseStringResult = \notemode { \afterGrace \lilyvartmpba
}/home/viejo/Musique/fichiers_lilypond/Boismortier/sonate37_5_Allegro.ly:471:2: Erreur : suite à des erreurs répétées, l'expression musicale sera ignorée

<<
Succès de Compilation menée à son terme, avec succès.
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

La fin de mon fichier ==============================

     } % pour les "unfold 20
   >> % fin voix invisible
} % fin "relative { voix 3
%%%%%%%%%% fin de la musique

\score {
  
<< %-----> ligne 471
\new StaffGroup << % pour grouper les 3 voix

{
        \override Score.BarNumber #'break-visibility =#end-of-line-invisible
        \override Score.RehearsalMark #'padding = #2.5
        \resetBarnum
}

\new Staff {\voixI }
\new Staff {\voixII }

\new Staff { \voixIII }

>> % ---> fin du "groupage" des trois voix

>> % (début : ligne 471)

\layout { }
  
\midi { }
} % ---> fin du score
%%%%%%

je ne comprends pas le message d'erreur

Et toi ?

Il ne faut pas faire une priorité de mon problème. Tu dois en avoir certainement d'autres de plus importants !

--
JJG
(En raison du degré important de mon "oublitude", je demande à mes
correspondants de me prévenir à l'approche d'un rendez-vous prochain)

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

........
Merci Mike, j'ai essayé et ça ne marche toujours pas mais le message a changé :

Analyse...
<string>:1:61: Erreur : syntax error, unexpected $end
parseStringResult = \notemode { \afterGrace {\lilyvartmpba
}/home/viejo/lilypond/usr/share/lilypond/current/scm/ly-syntax-constructors.scm:47:12: In expression (apply fun (cons* parser loc ...)):
/home/viejo/lilypond/usr/share/lilypond/current/scm/ly-syntax-constructors.scm:47:12: Unbound variable: }

C'est curieux car pour app et acc ça marche, et pas pour agr

any other idea ?

···

Le 20/01/2011 16:17, Mike Solomon a écrit :

Essaie de mettre des accolades autour de $expr dans ta définition de agr.

~Mike

On Jan 20, 2011, at 10:14 AM, Jean-Jacques Gerbaud wrote:

Le 19/01/2011 15:11, Xavier Scheuer a écrit :

2011/1/19 Jean-Jacques Gerbaud<****@****>:

--
JJG
(En raison du degré important de mon "oublitude", je demande à mes
correspondants de me prévenir à l'approche d'un rendez-vous prochain)

Je me suis trompé...il faut que tu fasses un truc du style:

afg = #(define-music-function (parser location expr1 expr2) (ly:music? ly:music?)
    #{ \afterGrace $expr1 $expr2 #})

\relative c' { a4 \afg a { b8 c } d4 }

afterGrace prend deux arguments.

Cordialement,
Mike

···

On Jan 20, 2011, at 12:28 PM, Jean-Jacques Gerbaud wrote:

Le 20/01/2011 16:17, Mike Solomon a écrit :

Essaie de mettre des accolades autour de $expr dans ta définition de agr.

~Mike

On Jan 20, 2011, at 10:14 AM, Jean-Jacques Gerbaud wrote:

Le 19/01/2011 15:11, Xavier Scheuer a écrit :

2011/1/19 Jean-Jacques Gerbaud<****@****>:

........
Merci Mike, j'ai essayé et ça ne marche toujours pas mais le message a changé :

Analyse...
<string>:1:61: Erreur : syntax error, unexpected $end
parseStringResult = \notemode { \afterGrace {\lilyvartmpba
}/home/viejo/lilypond/usr/share/lilypond/current/scm/ly-syntax-constructors.scm:47:12: In expression (apply fun (cons* parser loc ...)):
/home/viejo/lilypond/usr/share/lilypond/current/scm/ly-syntax-constructors.scm:47:12: Unbound variable: }

C'est curieux car pour app et acc ça marche, et pas pour agr

any other idea ?
--
JJG
(En raison du degré important de mon "oublitude", je demande à mes
correspondants de me prévenir à l'approche d'un rendez-vous prochain)

Merci Mike, ça marche ! Autrement dit, s'il faut deux arguments, on met
#(define-music-function (parser location expr1 expr2) (ly:music? ly:music?)
      #{ \afterGrace $expr1 $expr2 #})

Et s'il n'en faut qu'un seul :
#(define-music-function (parser location expr) (ly:music?)
       #{ \afterGrace $expr #})

Y a-t-il d'autres expressions qui utilisent des trucs imbriqués ? de manière à ne pas avoir à reposer la question dans quelque temps ?

Merci quand même à tous.

En ce moment, je suis en train de revoir les archives de la liste, histoire d'en apprendre un peu plus sur Lilypond. (Une de mes connaissance m'a dit :
moi, je préfère Finale, c'est WYSIWYG alors que Lilypond... des lignes de code... très peu pour moi ! (j'ai cru entendre comme une sorte de dédain !

j'ai même pas répondu... na !!!

···

Le 20/01/2011 18:58, Mike Solomon a écrit :

Je me suis trompé...il faut que tu fasses un truc du style:

afg = #(define-music-function (parser location expr1 expr2) (ly:music? ly:music?)
     #{ \afterGrace $expr1 $expr2 #})

\relative c' { a4 \afg a { b8 c } d4 }

afterGrace prend deux arguments.

Cordialement,
Mike

--
JJG
(En raison du degré important de mon "oublitude", je demande à mes
correspondants de me prévenir à l'approche d'un rendez-vous prochain)

Je connais très bien snobisme Finale. J'y ai même adhéré à un moment donné (c'était ma période bleue...j'étais jeune...).
Il y a une page sur ça, mais c'est en anglais: http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Overview-of-music-functions#Overview-of-music-functions
Dis-moi si tu as du mal à t'en sortir et je peux te donner des explications supplémentaires.

~Mike

···

On Jan 20, 2011, at 4:37 PM, Jean-Jacques Gerbaud wrote:

Le 20/01/2011 18:58, Mike Solomon a écrit :

Je me suis trompé...il faut que tu fasses un truc du style:

afg = #(define-music-function (parser location expr1 expr2) (ly:music? ly:music?)

#{ \afterGrace $expr1 $expr2 #})

\relative c' { a4 \afg a { b8 c } d4 }

afterGrace prend deux arguments.

Cordialement,

Mike

Merci Mike, ça marche ! Autrement dit, s'il faut deux arguments, on met
#(define-music-function (parser location expr1 expr2) (ly:music? ly:music?)
#{ \afterGrace $expr1 $expr2 #})

Et s'il n'en faut qu'un seul :
#(define-music-function (parser location expr) (ly:music?)
#{ \afterGrace $expr #})

Y a-t-il d'autres expressions qui utilisent des trucs imbriqués ? de manière à ne pas avoir à reposer la question dans quelque temps ?

Merci quand même à tous.

En ce moment, je suis en train de revoir les archives de la liste, histoire d'en apprendre un peu plus sur Lilypond. (Une de mes connaissance m'a dit :
moi, je préfère Finale, c'est WYSIWYG alors que Lilypond... des lignes de code... très peu pour moi ! (j'ai cru entendre comme une sorte de dédain !

j'ai même pas répondu... na !!!

JJG
(En raison du degré important de mon "oublitude", je demande à mes
correspondants de me prévenir à l'approche d'un rendez-vous prochain)

En ce moment, je suis en train de revoir les archives de la liste, histoire
d'en apprendre un peu plus sur Lilypond. (Une de mes connaissance m'a dit :
moi, je préfère Finale, c'est WYSIWYG alors que Lilypond... des lignes de
code... très peu pour moi ! (j'ai cru entendre comme une sorte de dédain !

j'ai même pas répondu... na !!!

Tu n'as qu'à lui montrer le résultat sous forme de PDF et comparer avec
rendu Finale ! ;D

···

2011/1/20 Jean-Jacques Gerbaud <****@****>:

2011/1/21 Mike Solomon <****@****>:

Je connais très bien snobisme Finale. J'y ai même adhéré à un moment donné
(c'était ma période bleue...j'étais jeune...).
Il y a une page sur ça, mais c'est en
anglais: http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Overview-of-music-functions#Overview-of-music-functions
Dis-moi si tu as du mal à t'en sortir et je peux te donner des explications
supplémentaires.

C'est parfait parce que je suis une bille en Scheme.
D'ailleurs j'en profite, puisqu'on a la chance d'avoir un développeur en
puissance parmi nous, elles te viennent d'où tes connaissances
"Schematoires" ?

Cordialement,
Xavier

--
Xavier Scheuer <****@****>

Je les ai acquis de manière pénible - en écrivant des tas de lignes de code (tu peux consulter les fichiers scm/define-woodwind-diagrams.scm et scm/display-woodwind-diagrams.scm dans la version de développement la plus récente) et en échouant avec presque chaque ligne avant d'y arriver. Copier et coller était (et toujours est) mon meilleur ami.

~Mike

···

On Jan 21, 2011, at 4:41 AM, Xavier Scheuer wrote:

2011/1/20 Jean-Jacques Gerbaud <****@****>:

En ce moment, je suis en train de revoir les archives de la liste, histoire
d'en apprendre un peu plus sur Lilypond. (Une de mes connaissance m'a dit :
moi, je préfère Finale, c'est WYSIWYG alors que Lilypond... des lignes de
code... très peu pour moi ! (j'ai cru entendre comme une sorte de dédain !

j'ai même pas répondu... na !!!

Tu n'as qu'à lui montrer le résultat sous forme de PDF et comparer avec
rendu Finale ! ;D

2011/1/21 Mike Solomon <****@****>:

Je connais très bien snobisme Finale. J'y ai même adhéré à un moment donné
(c'était ma période bleue...j'étais jeune...).
Il y a une page sur ça, mais c'est en
anglais: http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Overview-of-music-functions#Overview-of-music-functions
Dis-moi si tu as du mal à t'en sortir et je peux te donner des explications
supplémentaires.

C'est parfait parce que je suis une bille en Scheme.
D'ailleurs j'en profite, puisqu'on a la chance d'avoir un développeur en
puissance parmi nous, elles te viennent d'où tes connaissances
"Schematoires" ?

Cordialement,
Xavier

--
Xavier Scheuer <****@****>