|
From: | Bernard Barbier |
Subject: | Re: Question sur le layout et l'objet score |
Date: | Tue, 21 May 2019 18:27:20 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 |
Bonjour Valentin, Merci pour ces explications... et d'avoir eu la gentillesse de ne pas me répondre "RTFM" (*)... C'est impressionnant le contenu de la doc... je remercie au passage tous les contributeurs pour la traduction. Par contre, quand vous dites : "% Pompé sans vergogne du fichier scm/translation-functions.scm" il va falloir que j'aille y faire un tour : address@hidden:~$ ls
/usr/share/lilypond/2.18.2/scm J'ai de la lecture en perspective, et à réviser mon lisp (qui
date de 1986) euh... scheme ! Mais c'est une bonne source pour
commencer à faire du grep ! Merci
! address@hidden:~$ grep -i
markformatter /usr/share/lilypond/2.18.2/scm/* Un grand merci, je suppose à bientôt pour continuer mes questions insupportables... et m'aider à lire la doc ! Bien cordialement, Bernard. (*) Read The Friendy Manuel... traduction très polie pour
les non initiés ! On 21/05/2019 17:02, Valentin Villenave
wrote:
On 5/21/19, Bernard Barbier <address@hidden> wrote:Quelqu'un pourrait-il m'expliquer la relation entre : \set Score./propriété/ /et/ \layout { \context { \Score \override /propriété / } }Bonjour, à un détail près, c’est exactement équivalent ! La seule différence est que le bloc \layout s’appliquera partout, alors que le \set (ou \override au milieu d’une _expression_ musicale) s’appliquera uniquement à partir du moment où on l’ajoute. http://lilypond.org/doc/latest/Documentation/notation/set-versus-override.fr.html Le détail, c’est que pour \override Contexte.propriété = valeur il faut remettre \override dans le bloc \layout, comme ceci : \layout { \context { \Contexte \override propriété = valeur } } … alors que pour \set, il faut uniquement mettre le nom de la propriété : \layout { \context { \Contexte propriété = valeur } } (dans tout ce qui précède, vous pouvez remplacer Contexte par Score dans votre cas).Je m'explique : je suis dans la doc (http://lilypond.org/doc/v2.19/Documentation/notation/bars#rehearsal-marks), en bas et je lis sur la modification de l'aspect des indications de repère : \set Score.markFormatter = #format-mark-circle-alphabet Ma 1ère question (mais peut-être que j'ai rien compris) : Est-ce que je peux inclure ce modificateur dans le bloc layout : \layout { \context { \Score \override /markformatter// / } }C’est presque exactement ça, sauf qu’il faut utiliser seulement \layout { \context { \Score markFormatter = #format-mark-circle-alphabet } }Ma 2e question : dans quel coin de la doc je pourrais trouver un truc du style : \set Score.markFormatter = #with-color=redAh, c’est un peu différent, la solution la plus simple (de loin) serait : \override Score.RehearsalMark.color = #red ou (comme je l’expliquais) \layout { \context { \Score \override RehearsalMark.color = #red } }Et que j'ai écrit une fonction... qui ressemble quand même à de l'eau tiède, et que je suis en train de réinventer le fil à couper le beurre !Jolie fonction, ça pourrait quasiment marcher mais il y a plus simple là aussi : % Pompé sans vergogne du fichier scm/translation-functions.scm #(define-public (format-mark-red mark context) (make-with-color-markup red (make-bold-markup (make-markalphabet-markup (1- mark))))) \layout { \context { \Score markFormatter = #format-mark-red } } … ou bien, comme nous disions, \new Staff { \set Score.markFormatter = #format-mark-red \mark \default c'2 c'4 c' c'1 } Cordialement, V. |
[Prev in Thread] | Current Thread | [Next in Thread] |