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

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

Re: placement automatique d'un markup


From: Jean-marc LEGRAND
Subject: Re: placement automatique d'un markup
Date: Wed, 11 Jul 2007 14:24:26 +0200




Phil, tu es TROP fort, comme disent mes gones !

Un triple BRAVO : 1. pour avoir trouvé LA solution (et tu ne peut t'imaginer 
comment mes fichiers
vont maigrir avec cette trouvaille !) ; 2. pour m'avoir fait plonger la tête 
dans le chapitre 12 d
ela doc ; 3. pour le plaisir d'un bis !

A bientôt

JMarc


                                                                       
             Philippe Hézaine                                        
             <address@hidden>                                
                                                                                
                  A
             11/07/2007 13:59                    Jean-marc LEGRAND 
<address@hidden>,
                                                 address@hidden
                                                                                
                 cc
                                                                       
                                                                                
              Objet
                                                 Re: placement automatique d'un 
markup
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       




Jean-marc LEGRAND a écrit :
>
>
> Bon. Je vais essayer d'avancer un peu, mais j'ai encore besoin d'aide.
>
> Je me suis pastillé la doc sur les fonctions (chapitre 12. LE chapitre 
> 12...), et notamment le
> 12.1.3 sur les fonctions à deux variables.
>
> Je pars de l'exemeple de la doc :
>
>    manualBeam =
>      #(define-music-function (parser location beg end)
>                              (number? number?)
>      #{
>        \once \override Beam #'positions = #(cons $beg $end)
>      #})
>
>      \relative {
>        \manualBeam #3 #6 c8 d e f
>      }
>
> Mettons, pour aller vers mon besoin, que je souhaite fixer le beg à 2. Je 
> change la fonction
> (fonction à 1 variable) et la syntaxe d'appel dans le score :
>
>    manualBeam =
>      #(define-music-function (parser location end)
>                              (number?)
>      #{
>        \once \override Beam #'positions = #(cons 2 $end)
>      #})
>
>      \relative {
>        \manualBeam #6 c8 d e f
>      }
>
>
> Ca marche ! Il est donc possible, pour une fonction à 2 variables, d'en fixer 
> une des deux de
façon
> définitive.
>
> Donc je me dis : ça va faire pareil pour mon besoin.
>
> Je pars donc de mon besoin initial (merci à Phil !), un peu modifié (je 
> dédouble les deux
variables
> comme dans la doc) :
>
> trille = \markup {\musicglyph #"scripts.rcomma" }
> trtxt =    #(define-music-function (parser location x y) (number? number?)
>     #{
>         \once \override TextScript #'extra-offset = #'($x $y)
>     #})
>
>
> \score {
> \relative c' {
> \clef alto
> c4 e \trtxt #2 #-3 d^\trille f
> \bar "|."
> }
> }
>
> Et là, vous allez rire, mais ça n'a aucun effet (pas de message d'erreur, 
> mais aucun effet) : je
> pense que je me trompe dans la syntaxe de la fonction...
>
> Quelqu'un aurait-il une idée ?
>
> Pour la suite, je pense que je peux faire comme ci-dessus, en fixant une des 
> variables (le x).
>
> Merci d'avance !
>
> JMarc
>
>
>
>
>

>              Jean-marc

>              LEGRAND/CRS/FR/RM/Corp

>
A
>              10/07/2007 11:49                    Philippe Hézaine 
> <address@hidden>@GROUP

>
cc
>                                                  Jean-marc LEGRAND 
> <address@hidden>,

>                  Veuillez répondre à             address@hidden

>                   Jean-marc LEGRAND
Objet
>                                                  Re: placement automatique 
> d'un markup(Document

>                                                  link: Jean-marc LEGRAND)

>

>

>

>

>

>

>
>
>
> Super ! Ca commence à s'alléger : je me disais bien qu'il fallait un truc 
> genre programmation en
> local pour y arriver...
>
> Bon : l'ennui, c'est que comme je ne maîtris epas le passage en chinois, je 
> ne sais pas comment
> faire pour fixer la valeur X dans la définition de trtxt.
> Ce serait pratique : je n'aurais plus que des instructions du type :
>
> \trtxt #'(-2.7) d^\trille
>
> Là ce serait top !
>
> J'ai essayé :
> trtxt =   trtxt =    #(define-music-function (parser location shift) (pair?)
>     #{    \once \override TextScript #'extra-offset = #'(2 . -$shift)    #})
>
> avec
>
> \trtxt #'(-2.7) d^\t
>
> Pas de message d'erruer (c'est déjà ça !) mais aucun effet : le rcomma est 
> placé au dessus de la
> note, dans l'axe vertical d'icelle...
>
> En tous les cas, merci Phil : c'est un grand pas pour moi !
>
> En fait, il faudrait déjà que je me bouge le popotin pour aller dans la doc !
>
> JMarc
>
>
>

>              Philippe Hézaine

>              <address@hidden>

>
A
>              09/07/2007 18:11                    Jean-marc LEGRAND 
> <address@hidden>,

>                                                  address@hidden

>
cc
>

>
Objet
>                                                  Re: placement automatique 
> d'un markup

>

>

>

>

>

>

>
>
>
>
> Jean-marc LEGRAND a écrit :
>
>> XP +  lily 2.10
>>
>> Bonjour.
>>
>> Dans la musique pour viole de gambe, le trille apr le haut est souvent 
>> représenté par le signe
>> rcomma, placé au même niveau que la tête de la note.
>> D'un côté c'est cool, pârce que le signe existe dans Feta Font, mais de 
>> l'autre j'ai le problème
>> suivant : il me faut placer à la main tous les signes rcomma, comme dans 
>> l'exemple ci-dessous :
>>
>> \version "2.10"
>>
>> trille = \markup {\musicglyph #"scripts.rcomma" }
>>
>> \score {
>> \relative c' {
>> \clef alto
>> c4 e \once \override TextScript #'extra-offset = #'(2 . -2.7) d^\trille f
>> \once \override TextScript #'extra-offset = #'(2 . -2.2) e^\trille g
>> \once \override TextScript #'extra-offset = #'(2 . -4.7) b,^\trille c
>> d8 e f4 \once \override TextScript #'extra-offset = #'(2 . -2.2) e2^\trille
>> \bar "|."
>> }
>> }
>>
>> Ca alourdit méchamment le code !
>>
>> J'aimerais intégrer à ma définition de trille le déclage de 2 vers la 
>> droite. Mais le top, ce
>>
> serait
>
>> que le trille se positionne automatiquement à 2 vers la droite, et au niveau 
>> exact de la tête.
>>
>> Au pire, il serait possible de créer un signe de trille par note, ça ne me 
>> dérange pas : trillea,
>> trillebes, trillec...
>> MA vraie question est en fait : comment insérer le \once \override 
>> TextScript #'extra-offset = #'
>>
> (X
>
>> . Y) dans la définition du trille ?
>>
>> Bravo par avance !
>>
>> A bientôt
>>
>> JMarc
>>
>>
> Je ne pense pas que ce soit ce que tu cherches, mais enfin voilà
> peut-être une proposition
> à enrichir.
>
>  \version "2.10"
>
> trille = \markup {\musicglyph #"scripts.rcomma" }
> trtxt =    #(define-music-function (parser location shift) (pair?)
>     #{
>     \once \override TextScript #'extra-offset = $shift
>     #})
>
>
> \score {
> \relative c' {
> \clef alto
> c4 e \trtxt #'(2 . -2.7) d^\trille f
> \trtxt  #'(2 . -2.2) e^\trille g
> \trtxt  #'(2 . -4.7) b,^\trille c
> d8 e f4 \trtxt  #'(2 . -2.2) e2^\trille
> \bar "|."
> }
> }
>
>                             Phil.
>
A chercher la petite bête, j'ai fini par trouver ça:

 \version "2.10-25"

trille = \markup {\musicglyph #"scripts.rcomma" }
trtxt =    #(define-music-function (parser location shift) (number?)
    #{
    \once \override TextScript #'extra-offset = #(cons 2.4 $shift)
    #})


\score {
\relative c' {
\clef alto
c4 e \trtxt #'-2.7 d^\trille f
\trtxt  #'-2.2 e^\trille g
\trtxt  #'-4.7 b,^\trille c
d8 e f4 \trtxt  #'-2.2 e2^\trille
\bar "|."
}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
il ne faut pas mettre la   '   pour #'(cons 2.4 $shift)  donc:   #(cons
2.4 $shift)

Dans le score cela ne semble pas important,  tu peux aussi bien écrire
\trtxt #'-2.7  ou  \trtxt #-2.7
Je n'en sais pas plus.
                                                       Phil.





reply via email to

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