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

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

Re: layout commun à plusieurs scores


From: Gilles THIBAULT
Subject: Re: layout commun à plusieurs scores
Date: Sat, 24 May 2008 15:48:24 +0200

 
1. Est-il possible d'avoir d'une part un \layout local à chaque \score, où je ne modifierais que la valeur de  \indent, et d'autre part toutes les modifications de contexte réunies dans un autre bloc \layout, global, qui ne serait interprété qu'une seule fois, et qui s'appliquerait à tous les \score ?
 
Oui.
Il suffit de mettre un \layout (ou plusieurs ), en dehors du bloc \score et un \layout à l'intérieur de chaque \score.
par exemple :
%%%%%%%
\layout
        {            \context { \ChoirStaff   \consists Instrument_name_engraver
                                                    \override InstrumentName #'self-alignment-X = #LEFT }
            \context { \Score           \remove  Bar_number_engraver }
            \context { \Staff            \remove  Time_signature_engraver
                                                    \override InstrumentName #'self-alignment-X = #RIGHT }
        } % layout commun à tous les Score

\score
{
        \score    \patati    % 1er
        \layout { \indent = 60\mm } % layout valable uniquement que pour ce score
}
 
\score
{
        \score    \patata   % 2ème
        \layout { \indent = 50\mm }
}
 
%%%%%%%%
Pour chaque \score, Lilypond collecte tous les \layout accessibles qu'il a rencontrés pour en faire un seul et unique.
NB : le \book est optionnel si on veut un seul pdf en sortie.
2. A défaut d'une unique interprétation, et pour économiser au moins la frappe, quelle syntaxe employer pour réunir toutes les modifications de contexte dans une "macro symbolique", à appeler dans chaque \layout local ? (à la manière d'un #define en C, qui est appliqué au source avant la compilation) 
 
J'ai appris il y a quelques jours qu'on peut utiliser les \layout dans une variable, avec quelques restrictions.
Je te renvoie à la discussion qui a eu lieu sur la liste anglaise :
http://lists.gnu.org/archive/html/lilypond-user/2008-05/msg00446.html
 
3. Autre approche : peut-on "surcharger" les définitions par défaut des contextes \ChoirStaff, \Score, \Staff une fois pour toutes (càd à l'échelle du fichier) (ce qui éviterait d'avoir à le rappeler pour chq \score) ? Ou peut-être faut-il créer des alias de ces contextes (\MyChoirStaff, \MyScore, \MyStaff) et les utiliser dans la définition de des systèmes ?
 
Encore une fois oui.
http://lilypond.org/doc/v2.11/Documentation/user/lilypond/Defining-new-contexts#Defining-new-contexts
On peut ainsi se faire des fichiers d'inclusions (qu'on appelle avec la commande \include), définissant des contextes personnalisés, dérivés des Staff , Score et consoeurs.
 
Gilles

reply via email to

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