Subject: Modifier les attributs pour \mark \default seulement

From: Simon Martineau <[email-masked]>
Date: Thu, 16 Feb 2023 00:40:57 +0100

(Re) bonjour à tous,

Je souhaiterais modifier les attributs de \mark \default seulement, et pas \mark \markup ..., comme dans le code suivant :

\version "2.24.0"
\relative c' {
\override Score.RehearsalMark.stencil =
#(make-stencil-circler 0.1 0.8 ly:text-interface::print)
\mark \default c c c c
\mark \markup { \coda } c c c c
}

J’aimerais faire cette modif de manière permanente dans un fichier de config inclus. Je crois comprendre (mais je passe peut être à côté d’un moyen beaucoup plus simple !) que je peux redéfinir \mark, en particulier la première partie (make-music 'RehearsalMarkEvent), mais je ne sais pas comment :

mark =
#(define-music-function (label) ((index-or-markup?))
(_i "Create a rehearsal mark. If @var{label} is an integer, create the
rehearsal mark for the given sequence number. If @var{label} is
@code{\\default}, create the next sequential rehearsal mark. If
@var{label} is markup, use it for the mark.")
(cond ((not label)
(make-music 'RehearsalMarkEvent))
((index? label)
(make-music 'RehearsalMarkEvent 'label label))
(else
(make-music 'AdHocMarkEvent 'text label))))

Est-ce que quelqu’un sur la liste peut m’aider ?

Merci beaucoup !

Simon

---

From: Jean Abou Samra <[email-masked]>
Date: Thu, 16 Feb 2023 01:27:53 +0100

Le jeudi 16 février 2023 à 00:40 +0100, Simon Martineau a écrit :
> #  
> (Re) bonjour à tous,  
> Je souhaiterais modifier les attributs de `\mark \default` seulement, et pas `\mark \markup ...`, comme dans le code suivant :
> ```
> [](#cb1-1)\version "2.24.0"
> [](#cb1-2)\relative c' {
> [](#cb1-3)  \override Score.RehearsalMark.stencil = 
> [](#cb1-4)    #(make-stencil-circler 0.1 0.8 ly:text-interface::print)
> [](#cb1-5)  \mark \default c c c c 
> [](#cb1-6)  \mark \markup { \coda } c c c c 
> [](#cb1-7)}
> ```
> 
> J’aimerais faire cette modif de manière permanente dans un fichier de config inclus. Je crois comprendre (mais je passe peut être à côté d’un moyen beaucoup plus simple !) que je peux redéfinir `\mark`, en particulier la première partie `(make-music 'RehearsalMarkEvent)`, mais je ne sais pas comment :
> ```
> [](#cb2-1)mark =
> [](#cb2-2)#(define-music-function (label) ((index-or-markup?))
> [](#cb2-3)   (_i "Create a rehearsal mark.  If @var{label} is an integer, create the
> [](#cb2-4)rehearsal mark for the given sequence number.  If @var{label} is
> [](#cb2-5)@code{\\default}, create the next sequential rehearsal mark.  If
> [](#cb2-6)@var{label} is markup, use it for the mark.")
> [](#cb2-7)   (cond ((not label)
> [](#cb2-8)          (make-music 'RehearsalMarkEvent))
> [](#cb2-9)         ((index? label)
> [](#cb2-10)          (make-music 'RehearsalMarkEvent 'label label))
> [](#cb2-11)         (else
> [](#cb2-12)          (make-music 'AdHocMarkEvent 'text label))))
> ```
> 

Tiens donc, c'est précisément l'une des raisons pour lesquelles ont été ajoutées en 2.24 les commandes `\textMark` et `\textEndMark`. Elles fonctionnent plus ou moins comme `\mark \markup ...`, mais l'une des différences est qu'elles créent un grob `TextMark` et non pas `RehearsalMark`, si bien que si vous remplacez vos `\mark \markup` par `\textMark`, vous pouvez tout simplement appliquer des overrides à `RehearsalMark`, et les `TextMark` ne seront pas affectés.

Voir aussi cette page : [https://lilypond.org/doc/v2.24/Documentation/notation/writing-text#text-marks](https://lilypond.org/doc/v2.24/Documentation/notation/writing-text#text-marks)

Cordialement,

Jean

---

From: Simon Martineau <[email-masked]>
Date: Thu, 16 Feb 2023 10:51:02 +0100

Merci beaucoup !

En effet c'est bien pratique, je ne m'étais pas encore servi de ces commandes.

Bonne journée à tous,

Simon