Subject: include dans les include et dossiers

From: Céladon <[email-masked]>
Date: Sat, 11 Jun 2011 15:33:44 -0700 (PDT)

Bonjour à tous !
Je m’aperçois d’un petit problème que je rencontre maintenant que
j’entreprends des projets de plus en plus volumineux et que je veux
soigneusement structurer mes fichiers.
Si j’ai un dossier 'recueil', un dossier 'oeuvre' et un dossier 'parties',
avec des fichiers .ly correspondant aux parties dans ce second, je fais dans
le dossier 'oeuvre', par exemple dans un fichier 'cette-oeuvre.ly' des
\include "/parties/fichier.ly"
Mais si ensuite je veux, dans 'recueil', faire
\include "/oeuvres/cette-oeuvre.ly'
ça ne fonctionne pas.
Pouvez-vous m’éclairer précisément sur ces questions et sur les solutions
que je peux y trouver ?
Je sais qu’en PHP, c'est facile : quand on met, dans un fichier
'principal.php' un fichier en 
include 'fichier.php';
c'est comme si tout ce qui était dans 'fichier.php' était simplement
copié-collé dans 'principal.php'. En est-il de même avec LilyPond ? Le
problème, c’est qu’il y a la compilation, et que c’est quand même bien
pratique, vu le nombre de fautes que je fais (hauteurs...) de pouvoir
compiler au fur et à mesure les différents mouvements des œuvres que je
prépare.
Merci d’avance pour votre aide !

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/include-dans-les-include-et-dossiers-tp6466113p6466113.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Martial <[email-masked]>
Date: Sun, 12 Jun 2011 07:43:42 +0200

Bonjour

> \include "/oeuvres/cette-oeuvre.ly'

Dans recueil il faut remonter l'arbre avec "../"

\include "../oeuvres/cette-oeuvre.ly"

-- 
Martial

---

From: Martial <[email-masked]>
Date: Sun, 12 Jun 2011 07:48:20 +0200

Ha je découvre qu'en ajoutant en tête de fichier
#(ly:set-option 'relative-includes #t)
les chemins relatif seront pris en compte

aide ici :
http://lilypond.org/doc/v2.14/Documentation/notation/including-lilypond-files

-- 
Martial

---

From: Jean Brefort <[email-masked]>
Date: Sun, 12 Jun 2011 10:18:47 +0200

> L'utilisation d'un '/' initial dans le chemin me paraît hautement
suspect. Ces répertoires sont situés dans la racine du système ? Si tous
ces répertoires sont au même endroit de l'arborescence, j'essaierai :
\include "../oeuvres/cette-oeuvre.ly'

> copié-collé dans 'principal.php'. En est-il de même avec LilyPond ?

Oui, c'est inclus comme si tu l'avais recopié.

>  Le
> _______________________________________________
> liste de diffusion lilypond-user-fr
> [email-masked]
> https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

---

From: Céladon <[email-masked]>
Date: Sun, 12 Jun 2011 05:17:15 -0700 (PDT)

Bonjour à tous !
Merci pour vos réponses !
En premier lieu, je dois m’excuser d’une imprécision. La ligne utilisée
n’est pas
> \include "/parties/fichier.ly"
mais
> \include "./parties/fichier.ly"
avec un point au début.

Je vais lire avec attention le lien fourni vers la documentation, et essayer
l’option
> #(ly:set-option 'relative-includes #t) 

Petite question subsidiaire : j’ai des modèles de "commandes" que j’utilise
dans quasiment toutes mes partitions, à chaque fois je dois refaire
l’include des fichier et aussi remettre lesdits fichiers (tous dans un
dossier que j’appelle 'init') à proximité de la partition pour pouvoir faire
l’include. Est-ce qu’il n’y a pas un endroit où je pourrais les mettre pour
qu’ils soient soit accessibles automatiquement partout, soit qu’il n’y ait
qu’à les activer. Je ne sais pas si c’est très clair ma description... En
tout cas, j’ai des dossier 'init' partout, et ça serait quand même mieux
qu’il n’y en ait qu’un parce qu’il est sensé y avoir la même chose dans tous
: définitions des incipit, de la titulature, des nuances personnalisées, des
reprises personnalisées...

Merci d’avance si vous avez aussi de quoi m’aider pour ça ç
L.

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/include-dans-les-include-et-dossiers-tp6466113p6467107.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Xavier Scheuer <[email-masked]>
Date: Sun, 12 Jun 2011 14:25:34 +0200

> reprises personnalisées...

C'est indiqué dans la partie de la doc mentionnée par Martial et que
tu vas lire attentivement.  :)

  Lorsqu’un fichier est voué à être inclus dans nombre de partitions,
  vous pouvez le placer dans le répertoire de LilyPond ‘../ly’.
  Attention : ce répertoire varie selon votre installation, comme
  indiqué au chapitre Autres sources de documentation.  Ce fichier sera
  inclus dès lors que vous fournirez uniquement son nom en argument à la
  fonction \include. C’est par exemple le cas du fichier de définition
  particulier ‘gregorian.ly’.

Cordialement,
Xavier

-- 
Xavier Scheuer <[email-masked]>

---

From: Jean-Charles Malahieude <[email-masked]>
Date: Sun, 12 Jun 2011 14:58:21 +0200

>> \include "./parties/fichier.ly"

En fait, tu n'as même pas besoin de préfixer par "./"

>> #(ly:set-option 'relative-includes #t)

Très intéressante. Tu peux ausculter le contenu de l'archive que j'ai 
envoyée vendredi soir dans
http://lists.gnu.org/archive/html/lilypond-user-fr/2011-06/msg00139.html
pour l'une des possibilités de traitement.

> reprises personnalisées...

Prenons par exemple l'arborescence suivante :

/home/partoche/
/home/partoche/definitions/
/home/partoche/LVB9/
/home/partoche/LVB9/mouvement_1/
/home/partoche/LVB9/mouvement_2/

J'ai dans LVB9 (la « racine » de la 9e de Beethoven) un fichier .ly par
instrument et un pour le conducteur.

Dans le répertoire definitions trois fichiers :
  - pages.ily pour les réglages communs en matière de mise en page ;

  - raccourcis.ily  (en prévision de Parkinson et Alzheimer) qui recense
    des commandes ou définitions que j'utilise régulièrement, comme
	XViolon = { \set StaffGroup.instrumentName = "Violon "
                      \set StaffGroup.shortInstrumentName = "Vln " }
	XSoprano = { \set Staff.instrumentName = "Soprano "
	             \set Staff.shortInstrumentName = "S "
		     \set Staff.autoBeaming = ##f
		     \unset Staff.melismaBusyProperties }
	Lytalic = { \override LyricText #'font-shape = #'italic }
	Lydroit = { \override LyricText #'font-shape = #'upright }
	MAC = { \compressFullBarRests
		\override MultiMeasureRest #'expand-limit = #1 }

  - specials.ily pour les fonctions schemes (merci Nicolas)

Le début de LVB9/Violon.ly ressemblera à :

\version "2.13.61"
#(ly:set-option 'relative-includes #t)
#(set-global-staff-size 18)

\include "../definitions/specials.ily"
\include "../definitions/pages.ily"
\include "../definitions/raccourcis.ily"

\book {
\paper {
   print-page-number = ##f
   first-page-number = -1
}

\header {
   title = "Titre"
   }
}
\markup \null
\pageBreak
\markup \null

%%%%%%%%%%%%%%% 1er mouvement %%%%%%%%%%%%%%%%
\bookpart {
\paper {
   print-page-number = ##t
   #(define page-breaking ly:optimal-breaking)
}
\header {
   title = "Premier mouvement"
}

\score  {
   \include "mouvement_1/violon.ily"
   \include "mouvement_1/global.ily"
     \new Staff = "Violon" {
	<<
	  \XViolon
	  \clef treble
	  \new Voice << \GlobalI \ViolonI \MAC >>
	 >> }

etc.

D'autres auront probablement d'autres solutions...

@+
Jean-Charles

---

From: Loïc A. Chahine <[email-masked]>
Date: Sun, 12 Jun 2011 07:16:18 -0700 (PDT)

Rebonjour !
Je viens d’essayer les deux choses, c’est-à-dire :
– mettre mes fichiers courants dans le dossier /ly/
– l’option pour les chemins relatifs
et ça fonctionne très bien ! Évidemment, hein, je m’attendais pas non plus à
ce que ce soit des c... bêtises ;)
Ça ouvre de nouvelles perspectives fort intéressantes ! Finis les dossiers
quasi-identiques qui se baladent partout !
Merci beaucoup pour votre aide !

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/include-dans-les-include-et-dossiers-tp6466113p6467301.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Jean-Charles Malahieude <[email-masked]>
Date: Sun, 12 Jun 2011 16:30:32 +0200

> – mettre mes fichiers courants dans le dossier /ly/

ATTENTION ! WARNING ! MEFFI ! ACHTUNG ! AFFISSALAPÔPULASSIONNE !

S'IL S'AGIT DU RÉPERTOIRE CRÉÉ LORS DE L'INSTALLATION DE LILYPOND, UNE 
DÉSINSTALLATION SUPPRIMERA CES DIVERSES PERSONNALISATION.
PAR AILLEURS, VOUS OUBLIEREZ SÛREMENT DE LES TRANSMETTRE AVEC LES 
SOURCES DU QUARANTIÈME CONCERTO POUR SIPHON BOUCHÉ, PUISQU'ILS SERONT 
NOYÉS DANS LES LIMBES DU SYSTÈME.

@+
Jean-Charles

---

From: "j-f.lucarelli" <[email-masked]>
Date: Sun, 12 Jun 2011 19:19:19 +0200

== En réponse au message du 12-06-2011, 16:31:06 ==

>NOYÉS DANS LES LIMBES DU SYSTÈME.
Exactement. C'est pourquoi, au risque de multiplier les fichiers init.ly, il est bon de le munir d'un numéro de version personnel (car ces fichiers évoluent, se complètent au cours de l'apprentissage de Lily), puis de les recopier dans un répertoire dépendant de l'oeuvre en cours d'élaboration.
Chez moi, ce répertoire s'appelle \Common, et comprend le fichier d'initialisation (fonctions, définitions), variables, le bloc \paper, \header, le set-global-staff-size, etc ...

Ce n'est qu'une suggestion, mais ainsi l'archivage des fichiers .ly relatifs à une oeuvre sera toujours complet.

Et lors de la désinstallation de LilyPond pour mise à jour, ce fichier sera toujours récupérable dans la dernière oeuvre gravée.

Cordialement,

Jean-François.

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

---

From: Loïc A. Chahine <[email-masked]>
Date: Sun, 12 Jun 2011 11:30:37 -0700 (PDT)

Merci pour ces avertissements arrivés bien à temps, puisque je viens de
passer de 2.14.0 à 2.14.1 ! Du coup, je vais quand même utiliser le dossier
/ly/, parce que les fichiers que j’inclus sont au "pire" voués à être
augmentés (pour certains : ajout de nouvelles nuances personnalisées...) et
que je m’en sers vraiment tout le temps.

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/include-dans-les-include-et-dossiers-tp6466113p6467852.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.