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

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

Re: Question sur le layout et l'objet score


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
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.

reply via email to

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