Subject: Introduction à la personnalisation de LilyPond

From: Loïc CHAHINE <[email-masked]>
Date: Wed, 31 Mar 2010 16:06:09 +0200

Bonjour à tous,
Je cherche à savoir où je pourrais trouver une bonne introduction, lisible, compréhensible, pour "personnaliser" LilyPond : créer de nouvelles "commandes", et modifier celles qui existent.
Par exemple :
Mes titres de pièces sont toujours
\header { piece = \markup \fill-line \bold \large { "Entrée pour les Fleuves et les Nymphes" } }
(en grand, centrés, gras)
Je suis à peu près sûr qu'il existe un moyen pour ne pas avoir à la préciser systématiquement, mais de modifier la définition de "piece" pour que je puisse écrire directement
\header { piece = "Entrée pour les Fleuves et les Nymphes" }
Je ne vous demande pas de me le faire, mais de m'indiquer le ou les moyens qui permettent d'y arriver, pour que je puisse le refaire ensuite.
Autre exemple :
J'ai récupéré dans un fichier la commande "tempoMark" définie comme suit :
tempoMark = #(define-music-function (parser location markp) (string?)
#{
  \once \override Score.RehearsalMark #'self-alignment-X = #left
  \once \override Score.RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
  \mark \markup { \italic $markp }
#})
Mais je ne sais pas du tout comment ça se comprend, quelle est la syntaxe pour écrire ce genre de choses.

Je ne suis pas un complet béotien, vu que je suis un peu habitué à LaTeX...
Merci d'avance,
L.
 		 	   		  
_________________________________________________________________
Hotmail et MSN dans la poche? HOTMAIL et MSN sont dispo gratuitement sur votre téléphone!
http://www.messengersurvotremobile.com/?d=Hotmail

---

From: François-Xavier Jean <[email-masked]>
Date: Wed, 31 Mar 2010 16:36:43 +0200

Le 31/03/10 16:06, Loïc CHAHINE a écrit :
> Bonjour à tous,
> Je cherche à savoir où je pourrais trouver une bonne introduction, 
> lisible, compréhensible, pour "personnaliser" LilyPond : créer de 
> nouvelles "commandes", et modifier celles qui existent.
> _Par exemple :_
> Je suis à peu près sûr qu'il existe un moyen pour ne pas avoir à la 
> préciser systématiquement, mais de modifier la définition de "piece" 
> pour que je puisse écrire directement
>
> Je ne vous demande pas de me le faire, mais de m'indiquer le ou les 
> moyens qui permettent d'y arriver, pour que je puisse le refaire ensuite.
> _Autre exemple :_
> ------------------------------------------------------------------------
> Commander un cadeau en ligne discrètement? Voir la solution offerte 
> par Internet Explorer8 <http://clk.atdmt.com/FRM/go/207186971/direct/01/>
>
>
> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> http://lists.gnu.org/mailman/listinfo/lilypond-user-fr

Bonjour Loïc,

jette un coup d'oeil sur: --> 
http://wiki.lilynet.net/index.php/Fr:contributions/Lilypond_Encyclopedia
en consultant plus précisément les rubriques "en-tête","texte" & 
"titre". Il existe sûrement d'autres modèles sur LSR car mon inventaire 
chaque jour plus complet ne le sera jamais complètement puisque tous les 
2/3 jours de nouvelles contributions arrivent
sur LSR --> http://lsr.dsi.unimi.it/

cordialement
François-Xavier Jean

---

From: jnmrclgrnd <[email-masked]>
Date: Wed, 31 Mar 2010 18:32:16 +0200

Loïc CHAHINE a écrit :
Bonjour à tous,

Commander un cadeau en ligne discrètement? Voir la solution offerte par Internet Explorer8

Bonjour à toute la troupe.

Les paramètres par défaut des titres sont (cf http://www.lilypond.org/doc/v2.13//Documentation/notation/custom-titles#Custom-titles) dans ../ly/titling-init.ly : bonne plngée !

JMarc

---

From: Nicolas Sceaux <[email-masked]>
Date: Wed, 31 Mar 2010 21:37:02 +0200

>   \mark \markup { \italic $markp }

Avec `define-music-function', on définit une fonction qui construit de la musique,
ce qu'on appelle plus précisément : une expression musicale.
`define-music-function' est une construction en langage Scheme, en effet on voit
qu'elle est introduite par # : le dièse indique qu'on passe du langage LilyPond
au langage Scheme.  Alors, à l'intérieur de la construction `define-music-function',
il faut construire une expression musicale en Scheme.  Sans entrer dans les détails,
il y a quelques années c'était très compliqué.  On était obligé de passer par les
primitives de fabrication des expression musicales, telles que `make-music', et
c'était très verbeux.  À présent, c'est beaucoup plus simple : on peut utiliser
la syntaxe LilyPond à l'intérieur de la syntaxe Scheme, en utilisant  #{ ... #}.
Tout ce qui se trouve entre #{ et #} sera traité comme une expression en langage
LilyPond habituel.  Mieux : on peut faire référence à des variables scheme, tels
que les paramètres de `define-music-function' par exemple, dans l'expression
LilyPond à l'intérieur des #{ #}, en les précédant du caractère `$'.

Donc, l'expression suivante :

   #{ \mark \markup { \italic $markp } #}

où `markp' est l'argument de la commande, est interprétée comme si on écrivait en
langage LilyPond :

  \mark \markup { \italic \markp }

et c'est cette expression musicale qui est placée là où la function musicale
est appelée.

Voir <http://lilypond.org/doc/v2.13/Documentation/extending/music-functions>

Une note au passage : cette commande \tempoMark est obsolète, depuis que la
commande \tempo accepte un markup en argument.

Nicolas

---

From: "j-f.lucarelli" <[email-masked]>
Date: Thu, 1 Apr 2010 04:25:50 +0200

>commande \tempo accepte un markup en argument.

Merci pour ces éclaircissements, car le passage du Lilypond "classique" au Lilypond "intelligent" se faisait jusqu'à présent par essais aléatoires, et souvent échecs et abandon.

Mais à la réflexion, c'est vrai, il y a là un fossé difficile à franchir. Comment aborder Scheme ? Où trouver un tutoriel basique, puis le minimum pour l'utiliser avec Lilypond.

Pour celui qui a abandonné la programmation depuis plusieurs années, et resté au stade des langages rigoureux tels le C, la difficulté est grande.

En tout cas, il y a des promesses de belles réalisations après le B-A-BA du tutoriel de base Lilypond.

Bonne fin de nuit à tous,

Jean-François