Positionnement des "instrument names" et "indent"

Bonjour,

Je saisis un fichier contenant différentes versions d'un même petit chant. Le "sous-titre" de la version doit précéder la partition pour chaque "score", j'ai donc choisi de l'indiquer comme un "instrument name" du "ChoirStaff" de chaque "score". J'ai pour cela dû indiquer un "indent" trouvé à tatons dans le bloc "paper".
Dans chaque "ChoirStaff", les "Staff" ont leur "instrument name" : S, A et T, B

  1. peut-on déterminer automatiquement la valeur de "indent" optimale ?
  2. les sous-titres étant de longueur différentes, comment spécifier un "indent" différent pour chaque"score" du "book" ?
  3. Comment aligner les "instrument name" à gauche, sur la marge du papier ? (même si "indent" devait rester fixe)
  4. Comment rapprocher les "S." "A." "T." "B." de la partition ? (donc, les décaler vers la droite)

Merci de vos propositions,
Germain

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% exmin.ly
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.11.43"
\include "english.ly"
#(set-global-staff-size 17) % marche pas dans \paper

\paper
{
#(ly:set-option 'point-and-click #f)
#(set-paper-size "a4")

% #(set-global-staff-size 16)

% #(define dump-extents #t)
indent = 60\mm
% indent = 0\mm

% line-width = 178\mm % 210 - 216
line-width = 170\mm % 210 - 2
20

force-assignment = #"" % je ne sais plus pourquoi ?!

%%% staff-refpoint-extent = #( -19.0 -5.0)

% devrait espacer les systèmes sans les étirer
% étirés=##f ; non étirés=##t
ragged-bottom=##f
ragged-last-bottom=##t
ragged-last=##t % dernier système pas étiré

myStaffSize = #20
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\header
{
tagline = ##f
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% LSR snippet "Free meter" / Rune Zedeler

increaseBarNumber = \applyContext
#(lambda (x)
(let ((measurepos (ly:context-property x 'measurePosition)))
; Only increase bar number if not at start of measure.
; This way we ensure that you won't increase bar number twice
; if two parallel voices call increaseBarNumber simultanously:
(if (< 0 (ly:moment-main-numerator measurepos)) ; ugh. ignore grace part
(begin
(ly:context-set-property!
(ly:context-property-where-defined x 'internalBarNumber)
'internalBarNumber
(1+ (ly:context-property x 'internalBarNumber)))
(ly:context-set-property!
(ly:context-property-where-defined x 'currentBarNumber)
'currentBarNumber
(1+ (ly:context-property x 'currentBarNumber)))
; set main part of measurepos to zero, leave grace part as it is:
(ly:context-set-property!
(ly:context-property-where-defined x 'measurePosition)
'measurePosition
(ly:make-moment 0 1
(ly:moment-grace-numerator measurepos)
(ly:moment-grace-denominator measurepos)))))))

% Named Increasing BAR
nibar = #(define-music-function (parser location x) (string?)
#{
\bar $x
\increaseBarNumber
#})

% Increasing BAR
ibar = \nibar "|"

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Words = \lyricmode { azerty }

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% mélodie de Lyon
ABars =
{
s2 s4 s s s s2 s4 s2 \ibar
s4 s s s s8 s s4 s s2 \ibar
s4 s s s4. s8 s s s4 s s4. s8 s s s2 \nibar "|."
}

ANotesDiscantus = \relative c''
{
\autoBeamOff

bf2 bf4 bf bf8[( a]) bf[( c]) d2 d4 c2 |
c4 c c c c8 c d4 c bf2 |
a4 a a c4. c8 c c bf4 a g4. g8 a a bf2 ||
}

ANotesCantus = \relative c''
{
\autoBeamOff

g2 g4 g g8[( fs]) g[( a]) bf2 bf4 a2 |
a4 a a a a8 a bf4 a g2 |
f4 f f a4. a8 a a g4 f e4. e8 f f g2 ||
}

ANotesFiller = \relative c'
{
\autoBeamOff

d2 d4 d d4 d8[( f]) f2 f4 f2 |
f4 f f f f8 f f4 f d2 |
c4 c c 4. 8 c4 c c4. c8 d d d2 ||
}

ANotesBassusOne = \relative c'
{
\autoBeamOff

g2 g4 g g8[( d]) g[( f]) bf2 bf4 f2 |
f4 f f f f8 f bf4 f g2 |
f4 f f f4. f8 f f e4 f c4. c8 d d g2 ||
}

AGlobal =
{
\cadenzaOn
#(set-accidental-style 'modern-cautionary)
\key f \major
% \autoBeamOff
% \noBeam
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% mélodie (russe) usuelle
CBars =
{
s8 s s4. s8 s4 s s s2 s4 s2 \ibar
s4 s s s s8 s s4 s s2 \ibar
s8 s s s4. s8 s s s4 s s4. s8 s s s2 \nibar "|."
}

CNotesDiscantus = \relative c''
{
\autoBeamOff

s8 a bf4. a8 bf4 bf bf bf2 bf4 a2 |
a4 a a a a8 a bf4 a bf2 |
a8 a a a4. a8 a a bf4 a g4. g8 a a bf2 ||
}

CNotesCantus = \relative c''
{
\autoBeamOff

b8\rest fs g4. fs8 g4 g g g2 g4 f2 |
f4 f f f f8 f g4 fs g2 |
f8 f f f4. f8 f f g4 f e4. e8 f f g2 ||
}

CNotesFiller = \relative c'
{
\autoBeamOff

s8 d d4. d8 d4 d d c2 c4 c2 \ibar
c4 c c c c8 c d4 d d2 \ibar
c8 c c c4. c8 c c c4 c c4. c8 d d d2 \nibar "|."
}

CNotesBassusOne = \relative c'
{
\autoBeamOff

d,8\rest d g4. d8 g4 g g c,2 c4 f2 |
f4 f f f f8 f g4 d g2 |
f8 f f f4. f8 f f e4 f c4. c8 d d g2 ||
}

CGlobal =
{
\cadenzaOn
#(set-accidental-style 'modern-cautionary)
\key f \major
% \autoBeamOff
% \noBeam
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\book
{

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\score % 1
{
\new ChoirStaff
<<
\set ChoirStaff.instrumentName = \markup{ \left-align "№1 (FR) Mélodie russe usuelle." }

\new Staff
<<
\clef "G" \CGlobal
\set Staff.instrumentName = \markup{ \center-align {"S. " "A. "} }
\CBars
\new Voice = "one" { \voiceOne \CNotesDiscantus }
\new Voice { \voiceTwo \CNotesCantus }
% #'(après avant) % <0:plus bas % >0:plus haut [par defaut: ( -4 . 4 )]
\override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3.0 . 0.0)

\new Lyrics = thewords { s }

\new Staff
<<
\clef "F" \CGlobal
\set Staff.instrumentName = \markup{ \center-align {"T. " "B. "} }

\new Voice { \voiceOne \CNotesFiller }
\new Voice { \voiceTwo \CNotesBassusOne }
% #'(après avant) % <0:plus bas % >0:plus haut [par defaut: ( -4 . 4 )]
\override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(0.0 . 3.0)

\context Lyrics = thewords \lyricsto "one" { Le \Words }

\layout
{
\context { \ChoirStaff \consists Instrument_name_engraver }
\context { \Score \remove Bar_number_engraver }
\context { \Staff \remove Time_signature_engraver }
} % layout
\midi {
\context { \Score tempoWholesPerMinute = #(ly:make-moment 140 4) }
}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\score % 2
{
\new ChoirStaff
<<
\set ChoirStaff.instrumentName = \markup{ "№2 (FR) Mélodie de Lyon." }

\new Staff
<<
\clef "G" \AGlobal
\set Staff.instrumentName = \markup{ \center-align {"S. " "A. "} }
\ABars
\new Voice = "one" { \voiceOne \ANotesDiscantus }
\new Voice { \voiceTwo \ANotesCantus }
% #'(après avant) % <0:plus bas % >0:plus haut [par defaut: ( -4 . 4 )]
\override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3.0 . 0.0)

\new Lyrics = thewords { s }

\new Staff
<<
\clef "F" \AGlobal
\set Staff.instrumentName = \markup{ \center-align {"T. " "B. "} }

\new Voice { \voiceOne \ANotesFiller }
\new Voice { \voiceTwo \ANotesBassusOne }
% #'(après avant) % <0:plus bas % >0:plus haut [par defaut: ( -4 . 4 )]
\override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(0.0 . 3.0)

\context Lyrics = thewords \lyricsto "one" { \Words }

\layout
{
\context { \ChoirStaff \consists Instrument_name_engraver }
\context { \Score \remove Bar_number_engraver }
\context { \Staff \remove Time_signature_engraver }
} % layout

\midi {
\context { \Score tempoWholesPerMinute = #(ly:make-moment 140 4) }
}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
} % book
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\paper {}

Bonjour,

Je saisis un fichier contenant différentes versions d'un même petit chant. Le "sous-titre" de la version doit précéder la partition pour chaque "score", j'ai donc choisi de l'indiquer comme un "instrument name" du "ChoirStaff" de chaque "score". J'ai pour cela dû indiquer un "indent" _trouvé à tatons_ dans le bloc "paper".
Dans chaque "ChoirStaff", les "Staff" ont leur "instrument name" : S, A et T, B

1) peut-on déterminer automatiquement la valeur de "indent" optimale ?

Non.

2) les sous-titres étant de longueur différentes, comment spécifier un "indent" différent pour chaque"score" du "book" ?

Dans le block \layout de chaque piece :

\score {
   ..musique..
   \layout { indent = 3\cm }
}

3) Comment aligner les "instrument name" à gauche, sur la marge du papier ? (même si "indent" devait rester fixe)

zut, je pensais l'avoir indiqué dans la documentation.
Il y a un exemple dans les tests de non régression :
<LilyPond Regression Tests >

4) Comment rapprocher les "S." "A." "T." "B." de la partition ? (donc, les décaler vers la droite)

Par exemple en utilisant une commande de markup décalant le texte
ou ajoutant de l'espace au début.

\set Staff . instrumentName = \markup { \hspace #3 \column { S. A. } }

Tu peux aussi aligner à droite.

Nicolas

···

Le 17 mai 08 à 03:48, Germain G. Ivanoff-Trinadtzaty a écrit :

Merci beaucoup, tes réponses/solutions sont impeccables.
Germain

···

----- Original Message ----- From: "Nicolas Sceaux" <****@****>
To: "Germain G. Ivanoff-Trinadtzaty" <****@****>
Cc: "Lilypond French users" <lilypond-user-fr@gnu.org>
Sent: Saturday, May 17, 2008 11:40 AM
Subject: Re: Positionnement des "instrument names" et "indent"

Le 17 mai 08 à 03:48, Germain G. Ivanoff-Trinadtzaty a écrit :

Bonjour,

Je saisis un fichier contenant différentes versions d'un même petit chant. Le "sous-titre" de la version doit précéder la partition pour chaque "score", j'ai donc choisi de l'indiquer comme un "instrument name" du "ChoirStaff" de chaque "score". J'ai pour cela dû indiquer un "indent" _trouvé à tatons_ dans le bloc "paper".
Dans chaque "ChoirStaff", les "Staff" ont leur "instrument name" : S, A et T, B

1) peut-on déterminer automatiquement la valeur de "indent" optimale ?

Non.

2) les sous-titres étant de longueur différentes, comment spécifier un "indent" différent pour chaque"score" du "book" ?

Dans le block \layout de chaque piece :

\score {
  ..musique..
  \layout { indent = 3\cm }
}

3) Comment aligner les "instrument name" à gauche, sur la marge du papier ? (même si "indent" devait rester fixe)

zut, je pensais l'avoir indiqué dans la documentation.
Il y a un exemple dans les tests de non régression :
<LilyPond Regression Tests
>

4) Comment rapprocher les "S." "A." "T." "B." de la partition ? (donc, les décaler vers la droite)

Par exemple en utilisant une commande de markup décalant le texte
ou ajoutant de l'espace au début.

\set Staff . instrumentName = \markup { \hspace #3 \column { S. A. } }

Tu peux aussi aligner à droite.

Nicolas=