Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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