include dans les include et dossiers

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.

Bonjour

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'

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

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

···

--
Martial

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

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.

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'

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 ?

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

···

Le samedi 11 juin 2011 à 15:33 -0700, Céladon a écrit :

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.

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

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.

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

  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

···

2011/6/12 Céladon <****@****>:

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...

--
Xavier Scheuer <****@****>

Le 12/06/2011 14:17, Céladon disait :

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.

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

Je vais lire avec attention le lien fourni vers la documentation, et essayer
l’option

#(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.

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...

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

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 :wink:
Ç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.

Le 12/06/2011 16:16, Loïc A. Chahine disait :

Rebonjour !
Je viens d’essayer les deux choses, c’est-à-dire :
– 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

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

Le 12/06/2011 16:16, Loïc A. Chahine disait :

Rebonjour !
Je viens d’essayer les deux choses, c’est-à-dire :
– 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

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.

···

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

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

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.