Pages : 1
#1 Le 12/10/2008, à 13:38
- leyoyel
script lilypond
bonjour à tous ,
je suis en train d'écrire un script qui me permettra d'éditer le fichier de base pour écrire ensuite une partition sous lilypond. J'aimerai récupérer le numéro de version de lilypond et que ce numéro.
évidemment si je fais :
lilypond -v | grep Lil
j'ai la ligne entière :
GNU LilyPond 2.10.25
moi ce que je veux récupérer pour le coller ensuite dans mon fichier c'est juste 2.10.25
Comment puis je faire ?
Merci de votre aide.
voici mon script pour ceux que cela intéresse:
#!/bin/bash
echo ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
echo 'Ce script permet de créer un fichier de base .ly pour une partition de Guitare'
echo ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
if [ -e ~/lilypond ] ; #test si le repertoire lilypond existe
then cd ~/lilypond ; #si il existe on va dedans
else mkdir ~/lilypond ; cd ~/lilypond ; #s'il n'existe pas on le cré et on va dedans
fi
echo -n '< entrez le nom du dossier du nouveau projet : '
read dossier
while [ -e ~/lilypond/$dossier ] ; #test si le dossier existe déjà
do
echo 'Ce nom de dossier existe déjà !' ;
echo -n '< entrez le nom du dossier du nouveu projet : ' ;
read dossier ;
done
mkdir $dossier ; cd $dossier #cré le dossier du nouveau projet et on va dedans
echo -n '< entrez le nom du fichier lilypond : '
read fichier
touch $fichier.ly #cré le nouveau fichier avec l extention .ly
echo -n '%' >> $fichier.ly ; #met le signe commentaire sans passer à la ligne
date -u >> $fichier.ly #entre date
echo -n 'voici la version de lilypond présente sur la machine: '
#il faudrait pouvoir récupérer automatiquement la version!!
lilypond -v | grep Lil
echo -n '< entrez la version : '
read version
echo '\version "'$version'"' >> $fichier.ly
echo '\header' >> $fichier.ly
echo '{' >> $fichier.ly
echo -n '< Quel est le nom du morceau ? : '
read title
echo 'title = "'$title'"' >> $fichier.ly
echo -n '< y aura t il un sous titre ? si oui tapez [o] si non tapez [n] : '
read sous
if [ $sous = 'o' ] ;
then echo -n '< quel est le nom du sous titre ? : ' ;
read soustitre ;
echo "subtitle = '"$soustitre"'" >> $fichier.ly ;
fi
echo -n '< Quel est le nom du compositeur ? : '
read composer
echo 'composer = "'$composer'"' >> $fichier.ly
echo '}' >> $fichier.ly
#On pourra créer d'autre commande pour savoir si l'utilisateur veut créer d'autre lignes
echo -n '< donnez le nom de votre portée: '
read porte
echo $porte' = {' >> $fichier.ly
echo " \override Score.MetronomeMark #'padding = #4" >> $fichier.ly
echo -n '< Quel est la mesure ? : '
read mesure
echo ' \time '$mesure >> $fichier.ly
echo -n '< Tapez [M] si la tonalité sera majeure ou [m] si elle est mineure : '
read mineure
echo -n '< Entrez le nom de la tonalitée : '
read tonalite
echo -n ' \key '$tonalite' ' >> $fichier.ly
if [ $mineure = 'm' ] ;
then echo '\minor' >> $fichier.ly ;
else echo '\major ' >> $fichier.ly ;
fi
# ajouter l'instrument midi récupérer (différentes guitares),
# anacrouse,
echo ' \relative {' >> $fichier.ly
echo '% tapez vos notes ici' >> $fichier.ly
echo ' }' >> $fichier.ly
echo '}' >> $fichier.ly
# il faudrait pouvoir demander combien il y aura de portées puis les ajouter
# boucle while jusqu à 0 ?
echo -n "< y aura t il des accords ? si oui tapez [o] sinon tapez [n] : "
read choix
if [ $choix = 'o' ] ;
then echo 'accords = \chordmode {' >> $fichier.ly ;
echo '% tapez vos accords ici' >> $fichier.ly ;
echo '}' >> $fichier.ly
fi
echo '\score {' >> $fichier.ly
echo ' <<' >> $fichier.ly
echo ' \new StaffGroup <<' >> $fichier.ly
if [ $choix = 'o' ] ; #si il y a une portée harmonique
then echo ' \new ChordNames { \accords }' >> $fichier.ly ;
fi
echo ' \new Staff { \clef "G_8" \'$porte' }' >> $fichier.ly
echo -n '< voulez vous afficher une tablature ? si oui tapez [o] sinon tapez [n] : '
read tab
if [ $tab = 'o' ] ;
then echo ' \new TabStaff { \'$porte' }' >> $fichier.ly ;
fi
echo ' >>' >> $fichier.ly
echo ' >>' >> $fichier.ly
echo ' \midi {' >> $fichier.ly
echo ' }' >> $fichier.ly
echo ' \layout {' >> $fichier.ly
echo ' }' >> $fichier.ly
cat $fichier.ly | less
rm -r ~/lilypond/essai
Hors ligne
#2 Le 12/10/2008, à 13:54
- gigiair
Re : script lilypond
lilypond --version|grep Lil|cut -d " " -f 3
--
JJR.
Hors ligne
#3 Le 12/10/2008, à 17:01
- leyoyel
Re : script lilypond
Super merci !
Hors ligne
#4 Le 13/10/2008, à 12:51
- leyoyel
Re : script lilypond
je me permets de mettre ici l'évolution de mon scripte:
#!/bin/bash
echo ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
echo 'Ce script permet de créer un fichier de base .ly pour une partition de Guitare'
echo ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
if [ -e ~/lilypond ] ; #test si le repertoire lilypond existe
then cd ~/lilypond ; #si il existe on va dedans
else mkdir ~/lilypond ; cd ~/lilypond ; #s'il n'existe pas on le cré et on va dedans
fi
echo -n '< entrez le nom du dossier du nouveau projet : '
read dossier
while [ -e ~/lilypond/$dossier ] ; #test si le dossier existe déjà
do
echo 'Ce nom de dossier existe déjà !' ;
echo -n '< entrez le nom du dossier du nouveu projet : ' ;
read dossier ;
done
mkdir $dossier ; cd $dossier #cré le dossier du nouveau projet et on va dedans
echo -n '< entrez le nom du fichier lilypond : '
read fichier
touch $fichier.ly #cré le nouveau fichier avec l extention .ly
echo -n '%' >> $fichier.ly ; #-n met le signe commentaire sans passer à la ligne
date -u >> $fichier.ly #entre date
#on met la version dans une variable (version):
export version=$(lilypond -v | grep Lil| cut -d " " -f 3) #où cut coupe au 3eme délimiteur <espace>
echo '\version "'$version'"' >> $fichier.ly
echo '\header' >> $fichier.ly
echo '{' >> $fichier.ly
echo -n '< Quel est le nom du morceau ? : '
read title
echo 'title = "'$title'"' >> $fichier.ly
echo -n '< y aura t il un sous titre ? si oui tapez [o] si non tapez [n] : '
read sous
if [ $sous = 'o' ] ;
then echo -n '< quel est le nom du sous titre ? : ' ;
read soustitre ;
echo "subtitle = '"$soustitre"'" >> $fichier.ly ;
fi
echo -n '< Quel est le nom du compositeur ? : '
read composer
echo 'composer = "'$composer'"' >> $fichier.ly
echo '}' >> $fichier.ly
#On pourra créer d'autre commande pour savoir si l'utilisateur veut créer d'autre lignes
echo -n '< donnez le nom de votre portée: '
read porte
echo $porte' = {' >> $fichier.ly
echo " \override Score.MetronomeMark #'padding = #4" >> $fichier.ly
echo -n '< Quel est la mesure ? : '
read mesure
echo ' \time '$mesure >> $fichier.ly
echo -n '< Tapez [M] si la tonalité sera majeure ou [m] si elle est mineure : '
read mineure
echo -n '< Entrez le nom de la tonalitée : '
read tonalite
echo -n ' \key '$tonalite' ' >> $fichier.ly
if [ $mineure = 'm' ] ;
then echo '\minor' >> $fichier.ly ;
else echo '\major ' >> $fichier.ly ;
fi
# ajouter l'instrument midi récupérer (différentes guitares),
# anacrouse,
echo ' \relative {' >> $fichier.ly
echo '% tapez vos notes ici' >> $fichier.ly
echo ' }' >> $fichier.ly
echo '}' >> $fichier.ly
# il faudrait pouvoir demander combien il y aura de portées puis les ajouter
# boucle while jusqu à 0 ?
echo -n "< y aura t il des accords ? si oui tapez [o] sinon tapez [n] : "
read choix
if [ $choix = 'o' ] ;
then echo 'accords = \chordmode {' >> $fichier.ly ;
echo '% tapez vos accords ici' >> $fichier.ly ;
echo '}' >> $fichier.ly
fi
echo '\score {' >> $fichier.ly
echo ' <<' >> $fichier.ly
echo ' \new StaffGroup <<' >> $fichier.ly
if [ $choix = 'o' ] ; #si il y a une portée harmonique
then echo ' \new ChordNames { \accords }' >> $fichier.ly ;
fi
echo ' \new Staff { \clef "G_8" \'$porte' }' >> $fichier.ly
echo -n '< voulez vous afficher une tablature ? si oui tapez [o] sinon tapez [n] : '
read tab
if [ $tab = 'o' ] ;
then echo ' \new TabStaff { \'$porte' }' >> $fichier.ly ;
fi
echo ' >>' >> $fichier.ly
echo ' >>' >> $fichier.ly
echo ' \midi {' >> $fichier.ly
echo ' }' >> $fichier.ly
echo ' \layout {' >> $fichier.ly
echo ' }' >> $fichier.ly
#A FAIRE metronome, midi instrument, nb staffs, anacrouse
cat $fichier.ly | less
rm -r ~/lilypond/essai
Si des choses sont mals écrites n'ésitez pas à m'en faire part.
Hors ligne
#5 Le 13/10/2008, à 12:53
- leyoyel
Re : script lilypond
Je me permets de mettre ici l'évolution de mon script
n'hésitez pas à me dire s'il y a des choses mal écrites.
merci
#!/bin/bash
echo ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
echo 'Ce script permet de créer un fichier de base .ly pour une partition de Guitare'
echo ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
if [ -e ~/lilypond ] ; #test si le repertoire lilypond existe
then cd ~/lilypond ; #si il existe on va dedans
else mkdir ~/lilypond ; cd ~/lilypond ; #s'il n'existe pas on le cré et on va dedans
fi
echo -n '< entrez le nom du dossier du nouveau projet : '
read dossier
while [ -e ~/lilypond/$dossier ] ; #test si le dossier existe déjà
do
echo 'Ce nom de dossier existe déjà !' ;
echo -n '< entrez le nom du dossier du nouveu projet : ' ;
read dossier ;
done
mkdir $dossier ; cd $dossier #cré le dossier du nouveau projet et on va dedans
echo -n '< entrez le nom du fichier lilypond : '
read fichier
touch $fichier.ly #cré le nouveau fichier avec l extention .ly
echo -n '%' >> $fichier.ly ; #-n met le signe commentaire sans passer à la ligne
date -u >> $fichier.ly #entre date
#on met la version dans une variable (version):
export version=$(lilypond -v | grep Lil| cut -d " " -f 3) #où cut coupe au 3eme délimiteur <espace>
echo '\version "'$version'"' >> $fichier.ly
echo '\header' >> $fichier.ly
echo '{' >> $fichier.ly
echo -n '< Quel est le nom du morceau ? : '
read title
echo 'title = "'$title'"' >> $fichier.ly
echo -n '< y aura t il un sous titre ? si oui tapez [o] si non tapez [n] : '
read sous
if [ $sous = 'o' ] ;
then echo -n '< quel est le nom du sous titre ? : ' ;
read soustitre ;
echo "subtitle = '"$soustitre"'" >> $fichier.ly ;
fi
echo -n '< Quel est le nom du compositeur ? : '
read composer
echo 'composer = "'$composer'"' >> $fichier.ly
echo '}' >> $fichier.ly
#On pourra créer d'autre commande pour savoir si l'utilisateur veut créer d'autre lignes
echo -n '< donnez le nom de votre portée: '
read porte
echo $porte' = {' >> $fichier.ly
echo " \override Score.MetronomeMark #'padding = #4" >> $fichier.ly
echo -n '< Quel est la mesure ? : '
read mesure
echo ' \time '$mesure >> $fichier.ly
echo -n '< Tapez [M] si la tonalité sera majeure ou [m] si elle est mineure : '
read mineure
echo -n '< Entrez le nom de la tonalitée : '
read tonalite
echo -n ' \key '$tonalite' ' >> $fichier.ly
if [ $mineure = 'm' ] ;
then echo '\minor' >> $fichier.ly ;
else echo '\major ' >> $fichier.ly ;
fi
# ajouter l'instrument midi récupérer (différentes guitares),
# anacrouse,
echo ' \relative {' >> $fichier.ly
echo '% tapez vos notes ici' >> $fichier.ly
echo ' }' >> $fichier.ly
echo '}' >> $fichier.ly
# il faudrait pouvoir demander combien il y aura de portées puis les ajouter
# boucle while jusqu à 0 ?
echo -n "< y aura t il des accords ? si oui tapez [o] sinon tapez [n] : "
read choix
if [ $choix = 'o' ] ;
then echo 'accords = \chordmode {' >> $fichier.ly ;
echo '% tapez vos accords ici' >> $fichier.ly ;
echo '}' >> $fichier.ly
fi
echo '\score {' >> $fichier.ly
echo ' <<' >> $fichier.ly
echo ' \new StaffGroup <<' >> $fichier.ly
if [ $choix = 'o' ] ; #si il y a une portée harmonique
then echo ' \new ChordNames { \accords }' >> $fichier.ly ;
fi
echo ' \new Staff { \clef "G_8" \'$porte' }' >> $fichier.ly
echo -n '< voulez vous afficher une tablature ? si oui tapez [o] sinon tapez [n] : '
read tab
if [ $tab = 'o' ] ;
then echo ' \new TabStaff { \'$porte' }' >> $fichier.ly ;
fi
echo ' >>' >> $fichier.ly
echo ' >>' >> $fichier.ly
echo ' \midi {' >> $fichier.ly
echo ' }' >> $fichier.ly
echo ' \layout {' >> $fichier.ly
echo ' }' >> $fichier.ly
#A FAIRE metronome, midi instrument, nb staffs, anacrouse
cat $fichier.ly | less
rm -r ~/lilypond/essai
Hors ligne
#6 Le 03/12/2008, à 23:09
- cpro
Re : script lilypond
Bonjour
je suis en train de chercher desespérement comment éviter de inserer un accord (chiffre) sur l'anacrouse de ma partition. si je ne le fais pas tous les accords se décalen de deux temps.
Je ne sais pas si je suis au bon endroit pour poser cette question, désolé...
roberto
Pages : 1