[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Indentation et limitation de portées
From: |
Bertrand Bordage |
Subject: |
Re: Indentation et limitation de portées |
Date: |
Sun, 9 Oct 2011 20:17:37 +0200 |
Pour ce problème, il faut modifier le noyau de LilyPond. Si tu as le courage, fais ce qui suit. Pour cela, il faut que tu compiles LilyPond toi-même. Sinon il n'y aucune solution propre.
À la fin du fichier lily/output-def.cc, il y a écrit :
Interval
line_dimensions_int (Output_def *def, int n)
{
Real lw = def->get_dimension (ly_symbol2scm ("line-width"));
Real ind = n
? def->get_dimension (ly_symbol2scm ("short-indent"))
: def->get_dimension (ly_symbol2scm ("indent"));
return Interval (ind, lw);
}
Ce qui signifie : dès l'instant qu'un nouveau système est à plus de 1 mesure du début, on utilise 'short-indent', sinon on utilise 'indent'. On peut bidouiller ça ainsi :
Interval
line_dimensions_int (Output_def *def, int n)
{
Real lw = def->get_dimension (ly_symbol2scm ("line-width"));
Real ind = n > 6
? def->get_dimension (ly_symbol2scm ("short-indent"))
: def->get_dimension (ly_symbol2scm ("indent"));
return Interval (ind, lw);
}
Ici, j'ai choisi de dire : il faut que le nombre de mesures soit strictement supérieur à 6 pour qu'on utilise 'short-indent'.
Bien sûr, le nombre 6 est à adapter à ta partition.
J'ai mis en pièce jointe le résultat de :
{ \repeat unfold 44 a4 \break \repeat unfold 44 a }
C'est pas terrible comme solution pour le moment, mais bon...
Bertrand
music.pdf
Description: Adobe PDF document