Positionnement des \mark sans armure

Bon dimanche à l'équipe,

Je positionne habituellement les \mark sur l'armure pour éviter qu'ils se
superposent au numéros de mesure lorsqu'ils tombent en début de portée.

markDefault = {
% centrage sur l'armure
\once \override Score.RehearsalMark #'break-align-symbols =
#'(key-signature)

% dimension des marques d'avancement
\once \override Score.RehearsalMark #'font-size = #5

% position verticale des marques d'avancement
\once \override Score.RehearsalMark #'padding = #4

% marques d'avancement en début de ligne
\once \override Score.RehearsalMark #'break-visibility =
#end-of-line-invisible

% commande proprement dite
\mark \default
}

Mais si la musique ne possède pas d'armure, la marque d'avancement vient se
coller à l'extrême gauche.
La suppression du
\once \override Score.RehearsalMark #'break-visibility =
#end-of-line-invisible
donne le même résultat.

Je suppose que si je choisis le #'(time-signature), le résultat sera
identique.

Est-il possible de définir une position relative à la clef (qui elle, est
toujours présente) ?

Quelque chose dans le genre
\once \override Score.KeySignature #'break-align-anchor = #1
mais sur la clef

J'ai essayé
\once \override Score.KeySignature #'(time-signature) = #1
mais ça ne fonctionne pas, avec ou sans parenthèse.

Merci de vos conseils et bon dimanche,

Jean-François

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Positionnement-des-mark-sans-armure-tp5571532p5571532.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Seventies wrote:

Bon dimanche à l'équipe,

Je positionne habituellement les \mark sur l'armure pour éviter qu'ils se
superposent au numéros de mesure lorsqu'ils tombent en début de portée.

markDefault = {
% centrage sur l'armure
\once \override Score.RehearsalMark #'break-align-symbols =
#'(key-signature)

% dimension des marques d'avancement
\once \override Score.RehearsalMark #'font-size = #5

% position verticale des marques d'avancement
\once \override Score.RehearsalMark #'padding = #4

% marques d'avancement en début de ligne
\once \override Score.RehearsalMark #'break-visibility =
#end-of-line-invisible

% commande proprement dite
\mark \default
}

Mais si la musique ne possède pas d'armure, la marque d'avancement vient
se coller à l'extrême gauche.
La suppression du
\once \override Score.RehearsalMark #'break-visibility =
#end-of-line-invisible
donne le même résultat.

Je suppose que si je choisis le #'(time-signature), le résultat sera
identique.

Est-il possible de définir une position relative à la clef (qui elle, est
toujours présente) ?

Quelque chose dans le genre
\once \override Score.KeySignature #'break-align-anchor = #1
mais sur la clef

J'ai essayé
\once \override Score.KeySignature #'(time-signature) = #1
mais ça ne fonctionne pas, avec ou sans parenthèse.

à mon avis il faut changer l'alignement du RehearsalMark, donc qc comme

\override Score.RehearsalMark #'break-align-symbols = #'(clef)

(pas testé, mais pris du manuel Notation)

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Positionnement-des-mark-sans-armure-tp5571532p5571540.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Tout à fait !
Et on peut mettre plusieurs objets dans la liste, le RehearsalMark
s'alignera sur le premier de la liste qui est visible.
L'explication détaillée se trouve ici :

Sinon concernant le placement des RehearsalMark en début de ligne, j'ai
soumis un rapport de bug qui se trouve ici :
http://code.google.com/p/lilypond/issues/detail?id=1150

Si vous avez des références concernant les pratiques de certaines
maisons d'édition à ce sujet, ajoutez-les en commentaires SVP (cf. la
liste de Reinhold
Google Code Archive - Long-term storage for Google Code Project Hosting. ).
De même, si ce problème vous ennuie, vous pouvez proposer de
sponsoriser un développeur pour travailler dessus.

En attendant voici quelques "workaround" proposés par Neil :

  \override Score.RehearsalMark #'X-offset = #shift-right-at-line-begin

http://lists.gnu.org/archive/html/bug-lilypond/2010-06/msg00114.html

  \override Score.RehearsalMark #'after-line-breaking =
#(lambda (grob)
    ;; apply shift
    (shift-right-at-line-begin grob)
    ;; call default callback
    (ly:side-position-interface::move-to-extremal-staff grob))

http://lists.gnu.org/archive/html/bug-lilypond/2010-06/msg00125.html

Cordialement,
Xavier

···

2010/9/26 Eluze <****@****>:

à mon avis il faut changer l'alignement du RehearsalMark, donc qc comme

\override Score.RehearsalMark #'break-align-symbols = #'(clef)

(pas testé, mais pris du manuel Notation)

--
Xavier Scheuer <****@****>

== En réponse au message du 26-09-2010, 12:01:36 ==

···

2010/9/26 Eluze <****@****>:

à mon avis il faut changer l'alignement du RehearsalMark, donc qc comme

\override Score.RehearsalMark #'break-align-symbols = #'(clef)

(pas testé, mais pris du manuel Notation)

Tout à fait !
Et on peut mettre plusieurs objets dans la liste, le RehearsalMark
s'alignera sur le premier de la liste qui est visible.
L'explication détaillée se trouve ici :
LilyPond Notation Reference: 5.5.1 Aligning objects

Sinon concernant le placement des RehearsalMark en début de ligne, j'ai
soumis un rapport de bug qui se trouve ici :
Google Code Archive - Long-term storage for Google Code Project Hosting.

Si vous avez des références concernant les pratiques de certaines
maisons d'édition à ce sujet, ajoutez-les en commentaires SVP (cf. la
liste de Reinhold
Google Code Archive - Long-term storage for Google Code Project Hosting. ).
De même, si ce problème vous ennuie, vous pouvez proposer de
sponsoriser un développeur pour travailler dessus.

En attendant voici quelques "workaround" proposés par Neil :

\override Score.RehearsalMark #'X-offset = #shift-right-at-line-begin

Re: RehearsalMark and Barline placement at the beginning of a line

\override Score.RehearsalMark #'after-line-breaking =
#(lambda (grob)
   ;; apply shift
   (shift-right-at-line-begin grob)
   ;; call default callback
   (ly:side-position-interface::move-to-extremal-staff grob))

Re: RehearsalMark and Barline placement at the beginning of a line

Cordialement,
Xavier

--
Xavier Scheuer <****@****>

========================================

Merci de tous vos avis, et des nouveautés découvertes en parcourant ces liens.
Malheureusement, rien ne convient dans mon cas, où iln'y a ni armure ni "time signature".
J'ai essayé plusieurs solutions, et, quand le \mark survient en début de ligne, il est superposé au numéro de mesure, lui-même superposé à la clef de sol, ce qui fait beaucoup de place perdue.

Heureusement, c'est exceptionnel. Je pourrais ajouter un extra-offset, mais cette solution ne permet pas de diminuer le vide, je pense. La marque sera simplement déplacée.

Amicalement,

Jean-François

Merci de tous vos avis, et des nouveautés découvertes en parcourant

ces liens.

Malheureusement, rien ne convient dans mon cas, où iln'y a ni armure
ni "time signature".
J'ai essayé plusieurs solutions, et, quand le \mark survient en début
de ligne, il est superposé au numéro de mesure, lui-même superposé à
la clef de sol, ce qui fait beaucoup de place perdue.

Heureusement, c'est exceptionnel. Je pourrais ajouter un extra-offset,
mais cette solution ne permet pas de diminuer le vide, je pense.
La marque sera simplement déplacée.

Je m'excuse d'insister mais normalement le deuxième bout de code que
j'ai envoyé est censé convenir aussi (et surtout) dans le cas où il
n'y a ni armure ni "time signature"...

Tu pourrais envoyer un bout de code qui nous montre le problème ?

Cordialement,
Xavier

···

2010/9/26 j-f.lucarelli <****@****>:

--
Xavier Scheuer <****@****>

== En réponse au message du 26-09-2010, 23:07:30 ==

Je m'excuse d'insister mais normalement le deuxième bout de code que
j'ai envoyé est censé convenir aussi (et surtout) dans le cas où il
n'y a ni armure ni "time signature"...

Tu pourrais envoyer un bout de code qui nous montre le problème ?

Cordialement,
Xavier

Mille excuse, ça ne marchait pas, j'avais simplement oublié le "Score." devant "RehearsalMark"
Maintenant ça marche correctement sur l'exemple minima cité dans ton lien :

\score {
  \relative c' {
  \override Score.RehearsalMark #'after-line-breaking =
#(lambda (grob)
    ;; apply shift
    (shift-right-at-line-begin grob)
    ;; call default callback
    (ly:side-position-interface::move-to-extremal-staff grob))

    \repeat unfold 8 c1 \break
    \mark \default
    \repeat unfold 8 c1
  }
}

Ma définition des marques d'avancement devient maintenant :

markDefault = {
  \once \override Score.RehearsalMark #'break-align-symbols = #'(key-signature) % centrage sur l'armure
  \once \override Score.RehearsalMark #'font-size = #2.7 % dimension des marques d'avancement
  \once \override Score.RehearsalMark #'padding = #2.5 % position des marques d'avancement
  \once \override Score.RehearsalMark #'break-visibility = #end-of-line-invisible % marques d'avancement en début de ligne
  \override Score.RehearsalMark #'after-line-breaking = % Temporaire pour éviter la marque sur la clef
    #(lambda (grob)
    ;; apply shift
    (shift-right-at-line-begin grob)
    ;; call default callback
    (ly:side-position-interface::move-to-extremal-staff grob))
  \mark \default } % commande

... ouf

Malheureusement (:-/), le problème ne se pose plus sur ma partition, car suite à une remise en page, je ne trouve plus d'exemple où la marque tombe en début de ligne, sans armure. Mais il y aura bien un endroit où le cas se posera dans la suite ...

Un grand merci,

Jean-François

···

--
Xavier Scheuer <****@****>

========================================