Subject: [LilyPond] Importation partielle d'un fichier .ly

From: Jean Louis Thiry via LilyPond <[email-masked]>
Date: Wed, 12 Mar 2025 10:01:34 +0000

Bonne journée à tous,
Je transcris des partitions de piano ragtime que j'adapte pour le banjo ensuite dans un fichier de tablature. 
Je voudrais réunir les deux dans un troisième fichier banjo + piano sur trois portées et paroles éventuellement.
Est-il possible avec la fonction `\include` d'importer un bloc de musique ou autre seulement à l'intérieur d'un fichier externe genre `\include"/UserRag.ly:MainGauche", 
`\include"/UserRag.ly:MainDroite"` et 
`\include"/UserRag.ly:BanjoTab"`.
Si oui, ça me simplifierait bien la vie.

Merci de votre aide.

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/importation-partielle-dun-fichier-ly/5874/1).

Pour créer un nouveau sujet, écrivez à [[email-masked]](mailto:[email-masked]) ou visitez la [page d'accueil de lilypond.community](https://lilypond.community).

---

From: Jean Louis Thiry via LilyPond <[email-masked]>
Date: Wed, 12 Mar 2025 15:57:47 +0000

Merci Martial, pour la rapidité de la réponse.
le problème est que cette solution importe les fichiers complets, avec titres, mise en page, accords, etc. 
Ce que je vous voudrais faire, c'est importer uniquement les paragraphes (blocs) "mG", "mD" et "bandjo" et les intégrer dans une nouvelle mise en page le but étant de n'avoir qu'un seul fichier-source par portée à modifier, extraire ou corriger. 

Merci

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/importation-partielle-dun-fichier-ly/5874/3).

---

From: Jean-Julien Fleck via LilyPond <[email-masked]>
Date: Wed, 12 Mar 2025 16:23:33 +0000

Ce que je fais généralement dans ce cas, c’est créer un fichier qui ne contient que la variable contenant les notes et importer ce fichier dans chaque structure qui peut en avoir besoin. On note parfois en `.ily` les fichiers destinés à être importés et qui ne contiennent pas une partition complète en tant que telle.

Il faut donc redécouper le fichier `Rag.ly` pour en extraire les parties avec juste les notes (par exemple `Rag_notes.ily`) et inclure `Rag_notes.ily` à la fois dans `Rag.ly` et dans l’autre fichier qui combine les voix.

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/importation-partielle-dun-fichier-ly/5874/4).

---

From: Jean Louis Thiry via LilyPond <[email-masked]>
Date: Wed, 12 Mar 2025 17:55:41 +0000

[quote="jjfPCSI1, post:4, topic:5874, full:true"]
Il faut donc redécouper le fichier `Rag.ly` pour en extraire les parties avec juste les notes (par exemple `Rag_notes.ily`) et inclure `Rag_notes.ily` à la fois dans `Rag.ly` et dans l’autre fichier qui combine les voix.
[/quote]

c'est la méthode que j'utilise actuellement et ça fonctionne bien pour la musique. Pour les tablatures, c'est plus compliqué (je suis obligé de faire un fichier complet et passer toute la cosmétique en commentaires pour ne conserver que le bloc musique).

Je pense que l'on doit pouvoir cibler des blocs en utilisant des étiquettes ou autres (\MD, \MG, \melody, etc.) à l'intérieur d'un fichier comme on le ferait en html. J'ai un peu fouillé le doc mais je ne sais pas quoi chercher. J'ai fait un million d'essais d'\include en essayant de façons d'écrire un chemin vers une portion de fichier, sans résultat.

Tout ceci dit, à part limiter le nombre de fichiers, ma question tient plus de la curiosité - insatiable quand je lance Lilypond - que de la survie.

Merci et bonne soirée.

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/importation-partielle-dun-fichier-ly/5874/5).

---

From: MartialR via LilyPond <[email-masked]>
Date: Thu, 13 Mar 2025 07:20:26 +0000

Bonjour,

alors il y a "Arranger.ly" une suite d'utilitaire pour tri-touiller, arranger les partitions. 
je cite "Objectif de arranger.ly :
fournir un environnement facilitant l’arrangement musical1. Un ensemble de fonctions devront  permettre une ré-orchestration rapide, à partir d’un encodage de musique minimal et réutilisable. "

[https://github.com/gilles-th/arranger.ly](https://github.com/gilles-th/arranger.ly)  
la doc 
[http://gillesth.free.fr/Lilypond/arranger.ly-2.25.7/DOCS/arrangerDoc-fr.pdf](http://gillesth.free.fr/Lilypond/arranger.ly-2.25.7/DOCS/arrangerDoc-fr.pdf)

je n'ai jamais vraiment utilisé ces outils. 

Cordialement

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/importation-partielle-dun-fichier-ly/5874/6).

---

From: Jean Abou Samra via LilyPond <[email-masked]>
Date: Fri, 14 Mar 2025 17:39:43 +0000

[quote="thiryjl, post:5, topic:5874"]
Je pense que l'on doit pouvoir cibler des blocs en utilisant des étiquettes ou autres (\MD, \MG, \melody, etc.) à l'intérieur d'un fichier comme on le ferait en html. J'ai un peu fouillé le doc mais je ne sais pas quoi chercher. J'ai fait un million d'essais d'\include en essayant de façons d'écrire un chemin vers une portion de fichier, sans résultat.
[/quote]

Je confirme que ça n'existe pas.

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/importation-partielle-dun-fichier-ly/5874/7).

---

From: Jean Louis Thiry via LilyPond <[email-masked]>
Date: Mon, 17 Mar 2025 10:19:05 +0000

Merci pour toutes vos réponses. 

Même si ces solutions n'apportent pas de solutions immédiates, elles me permettent de mieux cerner mon problème et d'améliorer ma méthode qui est plutôt "à l'arrache"

La solution de Ben me semble se rapprocher de ce que je cherche à faire mais je n'ai pas bien saisi la marche à suivre dans la mesure où je ne sais pas quelle fonction scheme est utilisée (j'utilise scheme en mode 'formule magique', si j'en comprend le principe et le fonctionnement, je ne maîtrise pas l'utilisation). Un exemple concret me serait utile.

La solution de Martial avec arranger.ly me fait un peu peur car je ne comprend pas tout par manque, là-aussi, de syntaxe numérique. Dès l'intro, je suis perdu mais j'aimerais ne pas l'être. 

Dommage qu'il ne soit pas possible d'extraire des éléments de fichiers ou des mesures de musique, il y aurait, dans le cas contraire, de nombreuses utilisations possibles dans les domaines de l'interprétation comme de la pédagogie ou encore de l'édition.

A qui peut-on suggérer ce genre de fonction à intégrer dans des prochaines versions, une boîte à idées ou autres ? est-ce que ce serait du ressort de Lilypond ou de Frescobaldi ?

Merci et bonne semaine à tous.

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/importation-partielle-dun-fichier-ly/5874/9).

---

From: Ben via LilyPond <[email-masked]>
Date: Mon, 17 Mar 2025 11:06:43 +0000

Je ne suis pas non plus un expert du schemes, mais voici un exemple basique qui devrait fonctionner:

*) Soit le fichier Partition.ily pour créer la partition:

\version "2.25.18"

\score {
	\Deroulement
}

*) Soit le Fichier1.ly <http://fichier1.ly/>, la ligne avec # sera remplacée par \include "Partition.ily" seulement si la variable Acces a été définie:

\version "2.25.18"

Notes = \relative c' { c1 }

Deroulement = \new Staff { \Notes }

#( if (not (defined? 'Acces)) (ly:parser-include-string (format #f "\\include \"~A\"\n" "Partition.ily" )))

*) Soit le Fichier2.ly <http://fichier2.ly/>, qui récupère les variables de Fichier1 et les envoye à Partition.ily sans que la ligne # soit exécutée:

\version "2.25.18"

Acces = "Variables"

\include "Fichier1.ly <http://premierfichier.ly/>"

\include "Partition.ily"

Pour plus de portabilité, on pourrait aussi définir une fonction scheme avec le code de la ligne #, etc, 

> Le 17 mars 2025 à 11:18, Jean Louis Thiry via LilyPond <[email-masked]> a écrit :
> 
> 	Jean Louis Thiry <https://lilypond.community/u/thiryjl> thiryjl
> Mars 17
> La solution de Martial avec arranger.ly <http://arranger.ly/> me fait un peu peur car je ne comprend pas tout par manque, là-aussi, de syntaxe numérique. Dès l'intro, je suis perdu mais j'aimerais ne pas l'être.
> 
> Pour poster dans ce sujet, visitez la page du sujet <https://lilypond.community/t/importation-partielle-dun-fichier-ly/5874/9>.
> 
> Pour créer un nouveau sujet, écrivez à [email-masked] <mailto:[email-masked]> ou visitez la page d'accueil de lilypond.community <https://lilypond.community/>.
> 
> Réponses précédentes
> 
> 	Ben <https://lilypond.community/u/ben> Ben
> Mars 14
> Pour ma part, pour utiliser un fichier .ly à la fois pour être compilé directement en partition ou pour fournir des éléments à un autre fichier .ly, je fais l'astuce suivante:
> 
> Le fichier .ly ne contient que des affections de variables, et à la fin une fonction scheme, qui teste une variable spécifique.
> 
> Si la variable spécifique est renseignée, cela veut dire que le .ly est appelé par un include et la fonction scheme ne fait alors rien, le fichier .ly peut donc offrir toutes ses variables à un autre fichier .ly sans problème.
> 
> Mais si la variable spécifique n'est pas renseignée, cela veut dire que le .ly est exécuté directement et la fonction scheme appellera alors un autre fichier .ly qui contient les instructions pour créer la partition à partir des variables du premier fichier ly.
> 
> J'espère que j'ai été compréhensible…
> 
> 	Jean Abou Samra <https://lilypond.community/u/jeanas> jeanas
> Mars 14
>  thiryjl:
> 	 <https://lilypond.community/u/martialr>MartialR
> Mars 13
> Bonjour,
> 
> alors il y a "Arranger.ly <http://arranger.ly/>" une suite d'utilitaires pour tri-touiller, arranger les partitions.
> je cite "Objectif de arranger.ly <http://arranger.ly/> :
> https://github.com/gilles-th/arranger.ly
> la doc
> http://gillesth.free.fr/Lilypond/arranger.ly-2.25.7/DOCS/arrangerDoc-fr.pdf
> 
> 	Jean Louis Thiry <https://lilypond.community/u/thiryjl> thiryjl
> Mars 12
>  jjfPCSI1:
> Il faut donc redécouper le fichier Rag.ly <http://rag.ly/> pour en extraire les parties avec juste les notes (par exemple Rag_notes.ily) et inclure Rag_notes.ily à la fois dans Rag.ly <http://rag.ly/> et dans l’autre fichier qui combine les voix.
> 
> 	Jean-Julien Fleck <https://lilypond.community/u/jjfpcsi1> jjfPCSI1
> Mars 12
> Ce que je fais généralement dans ce cas, c’est créer un fichier qui ne contient que la variable contenant les notes et importer ce fichier dans chaque structure qui peut en avoir besoin. On note parfois en .ily les fichiers destinés à être importés et qui ne contiennent pas une partition complète en tant que telle.
> 
> Il faut donc redécouper le fichier Rag.ly <http://rag.ly/> pour en extraire les parties avec juste les notes (par exemple Rag_notes.ily) et inclure Rag_notes.ily à la fois dans Rag.ly <http://rag.ly/> et dans l’autre fichier qui combine les voix.
> 
> Pour poster dans ce sujet, visitez la page du sujet <https://lilypond.community/t/importation-partielle-dun-fichier-ly/5874/9>.
> 
> Pour créer un nouveau sujet, écrivez à [email-masked] <mailto:[email-masked]> ou visitez la page d'accueil de lilypond.community <https://lilypond.community/>.
> 
> 
> 
> Pour vous désabonner de ces e-mails, modifiez vos préférences <https://lilypond.community/my/preferences/emails>.
>

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/importation-partielle-dun-fichier-ly/5874/10).