lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: outil de génération


From: P.E. Brame
Subject: Re: outil de génération
Date: Sun, 05 Nov 2006 13:57:48 +0100
User-agent: Thunderbird 1.5.0.7 (X11/20060922)

Bonjour à tous,
Ce projet est une bonne idée, qui ressemble au plugin LilyPondTool pour
JEdit, mais sans doute avec l'avantage d'éviter la lourdeur de Java et
par conséquent de JEdit. Si ce projet mûrit suffisament, il pourra
peut-être être distribué avec LilyPond :-)
J'ai utilisé le plugin JEdit (4.2final) pour lilypond, sous windows et sous Linux.
Windows : pas de problèmes particuliers, la barre Lilytools s'affiche correctement
Linux : le plugin est installé mais refuse de s'exécuter !

Limitation sous les 2 OS :
- l'avancement des développements oblige à travailler avec une version "console" inférieure
- JEdit est lourd à charger pour le besoin réel

Ce n'est en fait qu'un outil de coloration syntaxique avec auto-complétion, plus une barre d'outils spécifiques permettant :
- de lancer Lilypond sur le script en cours d'écriture
- de visualiser le pdf généré (si tout c'est bien déroulé), dans mon cas avec un outil extérieur, donc mon visualisateur de pdf préféré.
De plus il est en anglais !

Travaillant essentiellement sous Linux, Kate fait aussi bien pour la coloration, la barre d'outils est remplacée par une fenêtre terminal pour exécuter Lilypond (valable aussi sous Win) et une autre pour kpdf (même remarque)
À propos, sur la liste lilyond-user est apparu récemment un fil sur
l'utilité d'une interface graphique pour éditer des fichiers ly. Je
partage l'idée de certains selon laquelle une solution efficace serait
un éditeur de texte avancé (coloration syntaxique, compilation et
visualisation depuis l'éditeur, ...), avec des plugins à interface
graphique qui aident à réaliser certaines tâches.

J'irais faire un tour sur cette liste, aurais-tu un lien direct ? Merci d'avance

En effet, le format ly est un format texte, donc un éditeur de texte est
naturellement efficace pour le traiter. Les inconvénients d'une
interface graphique excluant le code source sont la perte de vue des
concepts de séparation du contenu musical et de ses options de
formatage. On pourrait également imaginer une solution hybride, comme
certains éditeurs HTML graphiques qui proposent un onglet pour l'édition
visuelle, un onglet pour l'édition du texte source, et un onglet pour la
prévisualisation.
Pour moi le process de création d'un document musical sous Lilypond comporte trois phases distinctes :
1  - entrée des mélodies et éventuellement des paroles associées
    - ajout des indications liées aux notes : commentaires, directives d'interprétation
2  - ordonnancement des entrées : construction des systèmes
    - correction des erreurs
3 - mise en forme finale : mise en page et titres
   - impression

Mon outil permet de gérer le premier point de la phase 2.
Une solution d'édition purement graphique (comme NVU pour HTML) risque d'alourdir le code généré qui serait alors difficile de maintenir.
De plus l'évolution de la syntaxe même de Lilypond obligerait à sans cesse intervenir  dans la solution pour assurer la compatibilité. Sa gestion en fonction des différentes versions utilisées à ce jour (de 2.2 à 2.9) et possibilités de Lilypond accroîtrait encore plus la complexité de cette solution.
J'avais exploré le web pour choisir un éditeur graphique HTML, la majorité des utilisateurs avertis n'en utilisaient pas à cause de la complexité du code généré.

J'avais pensé à un écran de pré-visualisation qui présenterait un schéma du rendu final. Mais les détails seraient cachés, et ce sont eux qui font la différence entre Lilypond et les autres logiciels de création musicale. De plus il implique l'utilisation d'un bibliothèque graphique multi-OS, donc un axe de maintenance et de "versionning" supplémentaire, sans compter l'aspect documentaire minimal : tout le monde n'a pas l'ADSL, ni les compétences informatiques pour installer de nouvelles applications.
La logique de construction des blocs permet d'avoir un aperçu mental du résultat final.

En tant qu'administrateur, je rappelle que les messages de plus de 64 Ko
ne sont pas autorisés sur la liste.
Le fichier joint "pèse" 61,7 ko, je dois dépasser de peu la limite.

Ci-joint les fichiers scripts, je joins la doc au format texte (donc sans les copies écran). Je vais regarder du coté de tuxfamiliy pour un hébergement éventuel.
Note importante :
La première ligne du fichier "script_lily.py" doit être adaptée : elle doit indiquer où se trouve physiquement "python".
Sous Win se serait du style c:\program files\...\python ou dans l'arborescence de Lilypond (un python est livré avec)

John Mandereau a écrit :
Le samedi 04 novembre 2006 à 11:30 +0100, P.E. Brame a écrit :
  
Bonjour à tous,

Je suis en phase de finalisation d'un générateur de fichier .ly,, écrit 
en python 2.4.3 / wxwidgets 2.7, principalement à l'attention des 
défricheurs de Lilypond réfractaires à une lecture assidue de la 
documentation en anglais.
    

Ce projet est une bonne idée, qui ressemble au plugin LilyPondTool pour
JEdit, mais sans doute avec l'avantage d'éviter la lourdeur de Java et
par conséquent de JEdit. Si ce projet mûrit suffisament, il pourra
peut-être être distribué avec LilyPond :-)

À propos, sur la liste lilyond-user est apparu récemment un fil sur
l'utilité d'une interface graphique pour éditer des fichiers ly. Je
partage l'idée de certains selon laquelle une solution efficace serait
un éditeur de texte avancé (coloration syntaxique, compilation et
visualisation depuis l'éditeur, ...), avec des plugins à interface
graphique qui aident à réaliser certaines tâches.

En effet, le format ly est un format texte, donc un éditeur de texte est
naturellement efficace pour le traiter. Les inconvénients d'une
interface graphique excluant le code source sont la perte de vue des
concepts de séparation du contenu musical et de ses options de
formatage. On pourrait également imaginer une solution hybride, comme
certains éditeurs HTML graphiques qui proposent un onglet pour l'édition
visuelle, un onglet pour l'édition du texte source, et un onglet pour la
prévisualisation.

Voilà une très rapide présentation de la question. Qu'en pensez-vous ?


  
Je joint à ce mail un fichier compressé contenant les scripts et une 
documentation
    

En tant qu'administrateur, je rappelle que les messages de plus de 64 Ko
ne sont pas autorisés sur la liste.

Pour nous faire profiter de ton travail, donne-nous un lien vers un site
où on peut le télécharger. Si tu n'as pas d'espace Web pour ça, il est
tout à fait possible de l'héberger sur
http://lilypondwiki.tuxfamily.org . N'hésite pas à me contacter pour
plus de précisions.

Cordialement
  
Générateur de fichier Lilypond

Objectif et Genèse

Créer un fichier .ly de pour générer une partition.

Choriste amateur, j'ai du créer un dossier. J'ai trouvé contraignant de :
- créer le fichier de notes
- créer un fichier de génération de partition pour valider les notes : fautes 
de frappe, mise en page ...
- faire un copier / coller dans le fichier final et le modifier pour incorporer 
les nouvelles mélodies. 

Je me suis dit : il existe des langages de scripts multi-OS et GNU, autant les 
utiliser ! J'ai choisi  Python pour :
Sa simplicité d'écriture et la présence de nombreux tutoriels en français
Ses bibiothèques graphiques très bien documentées
L'existence d'un IDE pour valider les scripts
Moyens et pré-requis

Deux fichiers python présentent à l'utilisateur des fenêtres de saisie des 
paramètres nécessaires à la génération de la partition

score_lily.py
score.py

Il est donc indispensable d'avoir d'installé :
Python >= 2.4.3
wxWidgets >= 2.7

TODO : liens sur les sites français : installation, mise en oeuvre

Utilisation
Lancer le script score_lily.py, commande
python score_lily.py
Enchaînement des boites de dialogue 
 

fichier à générer : nom du fichier résultant
 Naviguer : choix du répertoire de destination
 Version : celle de lilypond
 Titre partition : texte du bloc header général 
Inclusions : liste de fichier à inclure. Aucune vérification n'est effectuée !

Bouton OK : validation des données
Fermer : quitter l'application
Ajout Score : création d'un nouveau bloc score


nom : nom interne du bloc
type, tempo, vitesse, tonalité : données du système à générer (mots clef 
lilypond)
Note : si les champs vitesse et tonalité sont vides, aucune entrée n'est 
générée dans le fichier final

Fermer : quitter la fenêtre sans sauver
OK : valider
Ajout portée : comme son nom l'indique, fenêtre suivante 




Peu de commentaires, ces champs alimentent directement le fichier en sortie

Le champ Instr midi vide inhibe la création du bloc "midi" dans le bloc "score"









Comme la fenêtre Portée, rien de spécial sur cet boîte de dialogue.

La directive "\transpose" n'est ajoutée dans la ligne de déclaration de la 
mélodie que si le champ "Transposer vers" est renseigné.

la directive "\lyricsto" liée aux paroles suit la même logique.

Attachment: code_score.zip
Description: Zip archive


reply via email to

[Prev in Thread] Current Thread [Next in Thread]