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

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

Re: \include "" incompatible avec \variable ?


From: Jean-Charles Malahieude
Subject: Re: \include "" incompatible avec \variable ?
Date: Fri, 03 Jun 2011 15:41:50 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc14 Thunderbird/3.1.10

Le 26/05/2011 12:56, legoss disait :
Bonjour à tous,

Soit  http://lsr.dsi.unimi.it/LSR/Snippet?id=353 ce code  tiré du
lsr, et sauvé sur un fichier "code.ly" Soit un autre fichier
"principal.ly" Je cherche à insérer le premier dans le second en
faisant un \include "code.ly"

Frescobaldi me sort un message d'erreur pour chaque variable, qu'elle
soit créée ou nommée dans le code. Quand je supprime le nom des
variables pour insérer leur contenu directement dans le bloc \score,
\include fonctionne sans aucun problème. Le système les variables est
vraiment très pratique. Est-ce que je dois me résigner à faire sans
? Ou bien, est-ce que j'ai loupé un épisode ?


Une piste : selon le « lieu de stockage » de tes variables, peuvent
interférer des problèmes d’azimuts.
Je viens d'être sérieusement confronté à ce problème : comme vous le
savez, je ressaisis le King Arthur, et souhaite n'utiliser que des
commandes de base de LilyPond, dans un but inavouable de prosélytisme
pur et dur (j'ai déjà presque converti la prof de clavecin quand elle a
vu comme on traite la basse chiffrée).
Mon dilemme se résume à un fichier de 3000 lignes par instrument pas
très pratique quand on replonge dedans), ou une découpe arborescente par
acte puis morceau. Mis à part la lourdeur des gros tonnages, tout va
bien dans le traitement. Dès lors que je découpe, les « références
croisées » deviennent un cauchemar.

Mais Lily m'a fourni la solution (3.3.1 Insertion de fichiers LilyPond)
« Les fichiers à inclure peuvent eux-même contenir des instructions
\include. Ces instructions \include de second niveau ne pourront, par
défaut, être interprétées qu’une fois intégrées dans le fichier
principal ; leur argument doit donc comporter le chemin relativement au
fichier principal et non par rapport au fichier dans lequel cette
inclusion est mentionnée. Vous pouvez toutefois influer sur ce
comportement à l’aide de l’option -drelative-includes en ligne de
commande ou en ajoutant une clause #(ly:set-option 'relative-includes
#t) en tête du fichier principal. Une fois relative-include activé, le
chemin à suivre pour chacune des commandes \include sera pris
relativement au fichier qui la contient. »

J'ai donc un Arthur-Viola.ly :
\version "2.13.61"
#(ly:set-option 'relative-includes #t) %<<<==== C'EST LÀ
\pointAndClickOff

\include "commons/Language-fr.ily"
\include "commons/Specials.ily"
\include "commons/Definitions.ily"
\include "commons/Pages.ily"

\book {
  \paper {
    print-page-number = ##f
    first-page-number = -3
    indent = 0
  }
  \header {
    title = \Arthur
    instrument = \Viola
  }
  \markup \null
  \pageBreak
  \markup \null

\bookpart {
  \paper {
    print-page-number = ##t
  }
  \header {
    title = \Overture
  }
  \include "Act0/A_Viola.ily"
} % ends bookpart Overture

\bookpart {
  \paper {
    print-page-number = ##t
  }
  \tocAct \ActOne
  \header {
    title = \ActOne
  }
  \include "Act1/Viola.ily"
} %%% ends bookpart ACT I

[...]

et dans Act1/Viola.ly :
\version "2.13.61"
\score  { % "We have sacrificed" & "To Woden thanks we render"
  \new Staff = "Viola" {
    << \clef alto
       \new Voice << \include "A/indication.ily"
         \include "A/global.ily" \include "A/viola.ily" \MAC
         \include "A/instrumental.ily" >>
     >> }
  \header {
  }
  \layout {
  }
} % ends A "We have sacrificed" & "To Woden thanks we render"

@+
Jean-Charles




reply via email to

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