pb de transposition - traduction

Le mercredi 25 février 2009, vous avez écrit :

Mettre cette ligne avant \book {

en fait j'ai mis ça dans book après \new Staff et ça marche, c'est parfait,
merci à tous y compris ceux qui m'ont aussi aidé en privé. MAintenant
question subsidiaire :
j'ai des markups dans ma mélodie, ils ressortent aussi avec displayLilyMusic
mais j'aimerais mieux pas, y aurait-il une option pour ça ? PAs trouvé dans
la doc.

···

--
Cordialement, Daniel Cartron
« L'ordre conduit à toutes les vertus, mais qu'est-ce qui conduit à l'ordre? »
Georg Christoph Lichtenberg

Non il n'y a pas d'option pour cela.
Une solution que tu peux envisager est de modifier le code qui gère
la sortie des markups, cf scm/define-music-display-methods.scm, par
exemple :

(define-post-event-display-method TextScriptEvent (event parser) #t
   (markup->lily-string (ly:music-property event 'text)))

à réécrire comme suit :

(define-post-event-display-method TextScriptEvent (event parser) #t
   "\"\"")

ce qui devrait avoir l'effet suivant (on testé) :
\displayLilyMusic c^\markup { un markup compliqué }
==>
c^""

ou peut-être même :

(define-display-method TextScriptEvent (expr parser)
   "")

ce qui donnerait :

\displayLilyMusic c^\markup { un markup compliqué }
==>
c

nicolas

···

Le 26 févr. 09 à 10:26, Daniel Cartron a écrit :

Le mercredi 25 février 2009, vous avez écrit :

Mettre cette ligne avant \book {

en fait j'ai mis ça dans book après \new Staff et ça marche, c'est parfait,
merci à tous y compris ceux qui m'ont aussi aidé en privé. MAintenant
question subsidiaire :
j'ai des markups dans ma mélodie, ils ressortent aussi avec displayLilyMusic
mais j'aimerais mieux pas, y aurait-il une option pour ça ? PAs trouvé dans
la doc.

vu. Je dois faire ça forcément dans le fichier scm ou je peux surcharger mon
fichier .ly ? Parce que j'ai pas envie que ce soit définitif...

Par ailleurs la 2e méthode n'efface pas les _ et ^, sinon ce serait pas mal en
effet...

Du coup je me demande si il n'y aurait pas un fichier scm qui gérerait les
tablatures, pour y mettre mes algorythmes, ce serait encore plus rapide et
efficace.

···

Le jeudi 26 février 2009, Nicolas Sceaux a écrit :

Une solution que tu peux envisager est de modifier le code qui gère
la sortie des markups, cf scm/define-music-display-methods.scm, par
exemple :

--
Cordialement, Daniel Cartron
« Le vin ordinaire, l'eau potable des Français. »
Bernard Shaw

Une solution que tu peux envisager est de modifier le code qui gère
la sortie des markups, cf scm/define-music-display-methods.scm, par
exemple :

vu. Je dois faire ça forcément dans le fichier scm ou je peux surcharger mon
fichier .ly ? Parce que j'ai pas envie que ce soit définitif...

Ce code doit être défini dans le module (scm display-lily),
c'est-à-dire être précédé par exemple par

#(define-module (scm display-lily))

Tu peux essayer de mettre ça dans un fichier .ly à part.

Par ailleurs la 2e méthode n'efface pas les _ et ^, sinon ce serait pas mal en
effet...

Ok, je n'ai pas regardé très en profondeur ce que ça donnait, et
je ne me souviens plus très bien les détails de ce code.
Il y a sans doute moyen de faire mieux, mais je n'ai pas le temps de
regarder maintenant.

···

Le 26 févr. 09 à 11:22, Daniel Cartron a écrit :

Le jeudi 26 février 2009, Nicolas Sceaux a écrit :

Ce code doit être défini dans le module (scm display-lily),
c'est-à-dire être précédé par exemple par

#(define-module (scm display-lily))

efectivement il manquait cette ligne, et il faut aussi mettre un # devant
(define-post-event-display-method TextScriptEvent (event parser) #t
   "\"\"")

Tu peux essayer de mettre ça dans un fichier .ly à part.

oui bon plan, comme j'inclus tjs un fichier contenant mes réglages perso c'est
parfait.

Ok, je n'ai pas regardé très en profondeur ce que ça donnait, et
je ne me souviens plus très bien les détails de ce code.
Il y a sans doute moyen de faire mieux, mais je n'ai pas le temps de
regarder maintenant.

C'est déjà pas mal, s'il ne me reste que 2 caractères bien précis à supprimer,
c'est plus simple que bricoler des regex tordues.

···

Le jeudi 26 février 2009, Nicolas Sceaux a écrit :

--
Cordialement, Daniel Cartron
« Shakespeare n'a jamais existé. Toutes ses pièces ont été écrites par un
inconnu qui portait le même nom que lui. »
Alphonse Allais

zut je réalise que les autres notations (genre \staccato et autres) sortent
aussi, et là encore ça me gène...

J'ai donc modifié
(define-post-event-display-method ArticulationEvent (event parser) #t
mais là aussi il reste un tiret...

Je trouve pas bien où ça peut se régler...

Qd tu auras un moment, nicolas... MErci

···

Le jeudi 26 février 2009, Daniel Cartron a écrit :

j'ai des markups dans ma mélodie, ils ressortent aussi avec
displayLilyMusic

--
Cordialement, Daniel Cartron
« Aux vrais amis, nous donnons toujours plus de joie que nous en contenons et
nous en recevons plus que nous ne pouvons en contenir. »
Robert Sabatier - Le livre de la déraison souriante

j'ai tenté
#(define-post-event-display-method ArticulationEvent (event parser) #f "")

(avec un f et non un t) et j'ai plus le tiret mais j'ai encore les _ et ^ pour
les markups...

Je sais pas dire pourquoi ça fait çà mais ça le fait :slight_smile:

···

Le vendredi 27 février 2009, Daniel Cartron a écrit :

zut je réalise que les autres notations (genre \staccato et autres) sortent
aussi, et là encore ça me gène...

J'ai donc modifié
(define-post-event-display-method ArticulationEvent (event parser) #t
mais là aussi il reste un tiret...

--
Cordialement, Daniel Cartron
« L'homme est imparfait mais ce n'est pas étonnant si l'on songe à l'époque où
il fut créé. »
Alphonse Allais

Ce code doit être défini dans le module (scm display-lily),
c'est-à-dire être précédé par exemple par

#(define-module (scm display-lily))

Tu peux essayer de mettre ça dans un fichier .ly à part.

J'ai enfin compris mon pb décrit dans un autre fil, ("erreur bizarre"), ça
vient de ma tentative de déplacer ce code dans un fichier que j'appelle
ensuite avec un \include. J'ai mis

%% suppression des markups dans les sorties displayLilyMusic
   \score
   {
  <<
    #(define-module (scm display-lily))
    #(define-post-event-display-method TextScriptEvent (event parser) #f "")
    #(define-post-event-display-method ArticulationEvent (event parser) #f "")
  >>
  }

dans ce fichier à l'intérieur d'un bloc book et il ne fallait pas. Mais du
coup si je vire le \book j'ai des erreurs guile. J'ai trouvé un jour un truc
dans la doc sur ce sujet mais je trouve plus... Qqun sait comment faire ?

···

Le jeudi 26 février 2009, Nicolas Sceaux a écrit :

--
Cordialement, Daniel Cartron
« Il vaut mieux mobiliser son intelligence sur des conneries que sa connerie
sur des choses intelligentes. »
Devise Shadock