lilypond-book ou comment automatiser la création d'un répertoire ?

Bonsoir à tous,

   Je me présente rapidement : je suis à la fois chanteur (occasionnel et
amateur) très porté sur la musique de la renaissance française, et aussi
musicien traditionnel (northumbrian smallpipes par exemple).

   Concernant la musique renaissance, Lilypond m'a apporté toute
satisfaction, en farfouillant dans la doc (très sympathique depuis les
dernières versions, en plus). Je me demande d'ailleurs si les utilisateurs
francophones de Lilypond n'auraient pas créé un espace où s'échanger de
telles partitions,... mais c'est une autre histoire.

   Mon souci est de créer un pdf de répertoire de musique traditionnelle
anglaise (northumberland), dont les morceaux sont écrits au format lilypond
bien sûr.
   Lilypond-book marche bien chez moi (passons sur les problèmes
d'espacement, vive la doc), mais j'aimerais savoir s'il est possible de
faire chercher à lilypond-book tous les fichiers .ly dans une arborescence
donnée, histoire d'éviter d'éditer longuement le fichier .lytex...
   Est-ce possible, ou faut-il passer par un script ? Dans ce cas-là, un
petit coup de main (au moins un lien vers une page expliquant tous ces
!/bin/bash etc serait bienvenu...

   Merci d'avance !
Rémy Palézis.

···

--
View this message in context: http://n2.nabble.com/lilypond-book-ou-comment-automatiser-la-création-d'un-répertoire---tp3045254p3045254.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

  Je me présente rapidement : je suis à la fois chanteur (occasionnel et
amateur) très porté sur la musique de la renaissance française, et aussi
musicien traditionnel (northumbrian smallpipes par exemple).

Bienvenue sur la liste francophone !

  Lilypond-book [..] éviter
d'éditer longuement le fichier .lytex...

J'aurai bien voulu t'aider mais je ne connais rien à Lilypond-book.
Mais je pense qu'il y a effectivement quelques spécialistes ici.

Peut-être une prochaine fois te serai-je plus util.

Gilles

Lilypond-book marche bien chez moi (passons sur les problèmes
d'espacement, vive la doc), mais j'aimerais savoir s'il est possible de
faire chercher à lilypond-book tous les fichiers .ly dans une arborescence
donnée, histoire d'éviter d'éditer longuement le fichier .lytex...
Est-ce possible, ou faut-il passer par un script ? Dans ce cas-là, un
petit coup de main (au moins un lien vers une page expliquant tous ces
!/bin/bash etc serait bienvenu...

lilypond-book ça m'étonnerait. Par contre c'est assez simple :

find -type f -name "*.ly" > liste.txt

Si tu veux formater les noms de fichiers il faut combiner avec sed
mais là il faut que tu dises ce que tu veux en sortie.

Frédéric

Frédéric Bron wrote:

find -type f -name "*.ly" > liste.txt

Si tu veux formater les noms de fichiers il faut combiner avec sed
mais là il faut que tu dises ce que tu veux en sortie.

Frédéric

Voilà, c'est ce genre de petits renseignements qu'il me fallait ! Merci.

Pour préciser (même si je n'ai pas d'idée définitive), j'aimerais que mon
script remplisse le fichier .lytex avec les emplacements des fichiers .ly
par ordre alphabétique (par exemple).

Je vais chercher de mon côté, car il me paraît maintenant nécessaire de
fouiller dans sed, find et autres grep !

À plus et merci, j'essaierai de poster le résultat de mes recherches si
c'est probant.

Rémy.

···

--
View this message in context: http://n2.nabble.com/lilypond-book-ou-comment-automatiser-la-création-d'un-répertoire---tp3045254p3066980.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Pour préciser (même si je n'ai pas d'idée définitive), j'aimerais que mon
script remplisse le fichier .lytex avec les emplacements des fichiers .ly
par ordre alphabétique (par exemple).

Si tu donnes un exemple du fichier .lytex, je peux peut-être t'écrire
un bout de script.

Frédéric

Voilà où je suis arrivé :

#!/bin/bash
cd ../Northumberland
find -type f -name "*.ly" | sed -e 's/^..//g' | sed -e
's/.*/\\lilypondfile[noindent,line-width=18\\cm]{..\/Northumberland\/&}\n/'

../Lilybook/liste.txt

cd ../Lilybook
cat repdebut.txt liste.txt repfin.txt > repertoire_nsp.lytex
lilypond-book --output=out repertoire_nsp.lytex
cd out
latex repertoire_nsp.tex
dvips repertoire_nsp.dvi
ps2pdf repertoire_nsp.ps
evince repertoire_nsp.pdf

   J'ai mis le préambule de mon fichier .lytex dans repdebut.txt, et un bête
\end{document} dans repfin.txt, puis j'ai concaténé.
   C'est sans doute barbare, mais comme je n'avais jamais fait ça...!
   J'ai eu un souci car find renvoyait l'emplacement des fichiers sous la
forme ./blabla d'où le premier sed. Et aussi, je mets mes fichiers Lilypond
chacun dans un répertoire, d'où une arborescence un peu moche.

   Maintenant, de ce côté-là, c'est bon ! En revanche, je me rends compte
que lilypond-book (ou plutôt LaTeX) coupe les morceaux entre deux portées si
ça lui chante, voire carrément entre le titre et la musique !!! C'est, me
semble-t-il, dû au fait que lilypond-book découpe chaque portée en un
fichier image.
   Me reste plus qu'à trouver LA commande permettant d'empêcher un saut de
page sur un bloc du type :

{%
\parindent 0pt%
\ifx\preLilyPondExample \undefined%
\relax%
\else%
\preLilyPondExample%
\fi%
\def\lilypondbook{}%
\input c2/lily-de09e647-systems.tex%
\ifx\postLilyPondExample \undefined%
\relax%
\else%
\postLilyPondExample%
\fi%
}

Et j'aurai un fichier pdf sans coupures inopinées...

Rémy

PS : Merci pour ton aide, Frédéric ; je ne refuse pas un coup de pouce pour
savoir comment trier par ordre (alphabétique par exemple) la liste de mes
fichiers .ly.

···

--
View this message in context: http://n2.nabble.com/lilypond-book-ou-comment-automatiser-la-création-d'un-répertoire---tp3045254p3067979.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Je me réponds à moi-même : il doit suffire d'encapsuler les blocs dans un
environnement figure :

\begin{figure}[htbp]
...
\end{figure}

sed n'a pas fini de servir.

···

--
View this message in context: http://n2.nabble.com/lilypond-book-ou-comment-automatiser-la-création-d'un-répertoire---tp3045254p3068073.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

PS : Merci pour ton aide, Frédéric ; je ne refuse pas un coup de pouce pour
savoir comment trier par ordre (alphabétique par exemple) la liste de mes
fichiers .ly.

Pour l'ordre alphabétique, tu peux piper le résultat de find sur sort:

find -type f -name "*.ly" | sed -e 's/^..//g' | sort | sed -e
's/.*/\\lilypondfile[noindent,line-width=18\\cm]{..\/Northumberland\/&}\n/'

../Lilybook/liste.txt

man sort pour le détail des options.

Frédéric

Merci !

   J'avais effectivement déniché sort, mais sans me rendre compte que je
pouvais l'intégrer entre find et sed (les pipe, c'est un peu inédit pour
moi). Ton post me permet de simplifier mon script, qui devient :

#!/bin/bash
cd ../Northumberland
find -type f -name "*.ly" | sed -e 's/^..//g' | sort | sed -e
's/.*/\\lilypondfile[noindent,line-width=18\\cm]{..\/Northumberland\/&}\n/'

../Lilybook/listeNorthumberland.txt

cd ../Irish
find -type f -name "*.ly" | sed -e 's/^..//g' | sort | sed -e
's/.*/\\lilypondfile[noindent,line-width=18\\cm]{..\/Irish\/&}\n/' >
../Lilybook/listeIreland.txt
cd ../Lilybook
cat repdebut.tex listeNorthumberland.txt listeIreland.txt repfin.tex >
repertoire_nsp.lytex
lilypond-book --output=out repertoire_nsp.lytex
#lilypond-book --output=out --pdf repertoire_nsp.lytex
cd out
sed -i 's/{%/&\n\\begin{figure}\[htbp\]/g' repertoire_nsp.tex
sed -i '/\\postLilyPondExample%/,/\\fi%/ s/\\fi%/\\fi%\n\\end{figure}/g'
repertoire_nsp.tex
latex repertoire_nsp.tex
dvips repertoire_nsp.dvi
ps2pdf repertoire_nsp.ps
#evince repertoire_nsp.ps
#pdflatex repertoire_nsp.tex
evince repertoire_nsp.pdf &

J'ai ajouté un autre répertoire (musique irlandaise). Ça marche nickel. Il
faut maintenant que je demande sur un forum LaTeX comment s'occuper des
"figure".
   Ce qui serait fantastique, ce serait de pouvoir capter le nom de chaque
morceau et de nommer la figure avec (sans que ça apparaisse dans le
répertoire), pour pouvoir obtenir une liste grâce à \listoffigures.

···

--
View this message in context: http://n2.nabble.com/lilypond-book-ou-comment-automatiser-la-création-d'un-répertoire---tp3045254p3073703.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.