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
accreg.scm
define-music-callbacks.scm
editor.scm lily-sort.scm
ps-to-png.scm
auto-beam.scm
define-music-display-methods.scm
encoding.scm ly-syntax-constructors.scm
safe-lily.scm
autochange.scm
define-music-properties.scm
file-cache.scm markup-macros.scm
safe-utility-defs.scm
backend-library.scm
define-music-types.scm
flag-styles.scm markup.scm
scheme-engravers.scm
bar-line.scm
define-note-names.scm
font.scm memory-trace.scm
script.scm
bezier-tools.scm
define-stencil-commands.scm
framework-eps.scm midi.scm
skyline.scm
chord-entry.scm
define-woodwind-diagrams.scm
framework-null.scm modal-transforms.scm
song.scm
chord-generic-names.scm
display-lily.scm
framework-ps.scm music-functions.scm
song-util.scm
chord-ignatzek-names.scm
display-woodwind-diagrams.scm
framework-scm.scm output-lib.scm
standalone.scm
chord-name.scm
documentation-generate.scm
framework-socket.scm output-ps.scm
stencil.scm
clip-region.scm
documentation-lib.scm
framework-svg.scm output-socket.scm
tablature.scm
coverage.scm
document-backend.scm
fret-diagrams.scm output-svg.scm
text.scm
c++.scm
document-context-mods.scm
graphviz.scm page.scm
time-signature-settings.scm
define-context-properties.scm
document-functions.scm
guile-debugger.scm paper.scm
titling.scm
define-event-classes.scm
document-identifiers.scm
harp-pedals.scm paper-system.scm
to-xml.scm
define-grob-interfaces.scm
document-markup.scm
layout-beam.scm parser-clef.scm
translation-functions.scm
define-grob-properties.scm
document-music.scm
layout-slur.scm parser-ly-from-scheme.scm
x11-color.scm
define-grobs.scm
document-translation.scm
lily-library.scm part-combiner.scm
define-markup-commands.scm
document-type-predicates.scm
lily.scm predefined-fretboards.scm
address@hidden:~$
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/*
/usr/share/lilypond/2.18.2/scm/define-context-properties.scm:
(markFormatter
,procedure? "A procedure taking as arguments the
/usr/share/lilypond/2.18.2/scm/define-context-properties.scm:
(metronomeMarkFormatter
,procedure? "How to produce a metronome
address@hidden:~$
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=red
Ah, 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.
_______________________________________________