Skip to content

Converting all the files to the chordpro format#17

Closed
Luthaf wants to merge 1 commit into
masterfrom
chordpro
Closed

Converting all the files to the chordpro format#17
Luthaf wants to merge 1 commit into
masterfrom
chordpro

Conversation

@Luthaf
Copy link
Copy Markdown
Contributor

@Luthaf Luthaf commented Jun 1, 2015

Voici le début de la conversion de patadata ! Le script de conversion est convert_to_chordpro.py, et pour le moment une vingtaine de chansons plantent encore, avec

$ ./convert_to_chordpro.py
Error while converting ./songs/amplitude/des_couleurs_sur_mon_chemin.sg
list index out of range
Error while converting ./songs/amplitude/la_caravane.sg
list index out of range
Error while converting ./songs/amy_macdonald/this_is_the_life.sg
list index out of range
Error while converting ./songs/au_petit_bonheur/je_veux_du_soleil.sg
list index out of range
Error while converting ./songs/benabar/le_diner.sg
list index out of range
Error while converting ./songs/bob_dylan/blowin_in_the_wind.sg
list index out of range
Error while converting ./songs/jacques_sevin/chant_de_la_promesse.sg
list index out of range
Error while converting ./songs/jacques_sevin/chant_des_adieux.sg
list index out of range
Error while converting ./songs/jacques_sevin/legende_du_feu.sg
list index out of range
Error while converting ./songs/jean-jacques_goldman/le_coureur.sg
list index out of range
Error while converting ./songs/jeff_buckley/hallelujah.sg
list index out of range
Error while converting ./songs/john_lennon/imagine.sg
list index out of range
Error while converting ./songs/le_donjon_de_naheulbeuk/a_l_aventure_compagnons.sg
list index out of range
Error while converting ./songs/le_donjon_de_naheulbeuk/mon_ancetre_gurdil.sg
list index out of range
Error while converting ./songs/louise_attaque/je_t_emmene_au_vent.sg
list index out of range
Error while converting ./songs/louise_attaque/lea.sg
list index out of range
Error while converting ./songs/manu_chao/clandestino.sg
list index out of range
Error while converting ./songs/oldelaf_et_monsieur_d/cafe.sg
list index out of range
Error while converting ./songs/queen/we_will_rock_you.sg
list index out of range
Error while converting ./songs/ray_charles/hit_the_road.sg
list index out of range
Error while converting ./songs/renaud/des_que_le_vent_soufflera.sg
list index out of range
Error while converting ./songs/renaud/mistral_gagnant.sg
list index out of range
Error while converting ./songs/simon_garfunkel/scarborough_fair.sg
list index out of range
Error while converting ./songs/simon_garfunkel/the_sounds_of_silence.sg
list index out of range
Error while converting ./songs/sinsemilia/tout_le_bonheur_du_monde.sg
list index out of range
Error while converting ./songs/the_beatles/hey_jude.sg
list index out of range
Error while converting ./songs/the_beatles/yellow_submarine.sg
list index out of range
Error while converting ./songs/the_eagles/hotel_california.sg
list index out of range
Error while converting ./songs/tryo/l_hymne_de_nos_campagnes.sg
list index out of range

À faire avant de merger :

  • Vérifier qu'il ne reste pas de commandes LaTeX dans les chansons
  • Vérifier que tous les carnets par défaut compilent
  • Supprimer les fichiers .sg ?

@paternal
Copy link
Copy Markdown
Contributor

paternal commented Jun 1, 2015

Pas mal, mais je vois qu'il y a encore pas mal d'erreurs (je pense qu'une recherche de \ devrait en montrer la plupart). Vérifier tout cela va constituer un travail de fou !

@oliverpool
Copy link
Copy Markdown

J'avais pas vu ce script, je vais y jeter un oeil!
(a première vue, ca fonctionne à "grands coups de regexp" ;-)

L'avantage d'un parseur conventionnel (comme celui que j'ai trouvé en JS / ou comme PlasTeX ?), c'est que les erreurs sont bien plus compréhensibles (normalement).

Ce n'est pas possible d'utiliser PlasTex pour faire cette conversion ? (sachant que j'avous ne pas connaitre grand chose, et un peu mieux comprendre les regexp)

@oliverpool
Copy link
Copy Markdown

Autre question: du coup les commandes \begin{verse*} et bridge disparaissent avec chordpro ?

@Luthaf
Copy link
Copy Markdown
Contributor Author

Luthaf commented Jul 15, 2015

Ce n'est pas possible d'utiliser PlasTex pour faire cette conversion ? (sachant que j'avous ne pas connaitre grand chose, et un peu mieux comprendre les regexp)

C'est possible, mais ça demanderai plus de travail et je ne crois pas que l'on ait besoin de l'AST pour s'en sortir. Le script ici fait son boulot, et ne sert pas à parser mais à transformer.

Autre question: du coup les commandes \begin{verse*} et bridge disparaissent avec chordpro ?

Je crois que oui, on peut utiliser d'autres environements pour arriver au même but. Et sinon, ajouter un {start_of_bridge}/{end_of_bridge} au parseur chordpro ne coute pas trop cher je pense.

@oliverpool
Copy link
Copy Markdown

Je suis assez partant pour rajouter les start/end_of_bridge

(et les verse* sont probablement très peu utilisés - mais je trouve quand même dommage qu'on s'en débarrasse...)

@paternal
Copy link
Copy Markdown
Contributor

Je suis assez partant pour rajouter les start/end_of_bridge

Pourquoi pas, dans la mesure où ils sont utilisés ailleurs.

(et les verse* sont probablement très peu utilisés - mais je trouve quand même dommage qu'on s'en débarrasse...)

Ça me gêne un peu d'étendre la norme (même si elle n'est pas vraiment normalisée). Est-ce qu'on ne pourrait pas trouver une autre convention ? Si on a pas le choix, on peut, mais j'aime bien l'idée de maintenir une cohérence (toute relative, vues les implémentations actuelles) du format, pour garder un semblant d'intéropérabilité entre les différents logiciels.

@oliverpool
Copy link
Copy Markdown

Pourquoi pas, dans la mesure où ils sont utilisés ailleurs.
...
Ça me gêne un peu d'étendre la norme

Ca me convient!


Du coup en résumé:

  • les bridge sont conservés (avec l'introduction de start/end_of_bridge)
  • les verse* sont supprimés (soit remplacés par des verse, soit fusionnés avec le verse précédent

Par ailleurs, je pense qu'il faut faire attention aux saut de lignes répétés: dans LaTeX ils sont ignorés, dans chordpro, ils représentent un nouveau couplet.

@Luthaf : je pense que je vais poursuivre mes expérimentation pour la conversion via JS: ca pourra rendre service à des personnes qui veulent rapidement convertir un chant sur le site (mais ton script reste parfaitement justifié pour convertir toute une bibliothèque)

@paternal
Copy link
Copy Markdown
Contributor

En y repensant, la suppression des verse* me gêne quand même, enfin, pas directement.

Les verse* sont utilisés en LaTeX pour créer des sauts de lignes au sein d'un couplet (sans incrémenter la numérotation des couplets). C'est un détournement de l'usage original, mais ça marche. Et c'est cette fonctionnalité (sauter une ligne dans un couplet) que je trouve intéressante, et qu'il serait dommage de perdre. Plus qu'un verse*, ça serait un saut de ligne ua sein d'un couplet qui serait intéressant, mais, à ma connaissance, ça n'existe pas en chordpro, et ça me gêne toujours d'étendre la notation…

Je ne sais pas quoi faire…

@oliverpool
Copy link
Copy Markdown

@paternal je partage totalement ton point de vue... et je n'ai aucune idée de solution élégante.

En écrivant mon script de transition (en JS avec le ParserGenerator), je suis tombé sur plein de petites spécificités LaTeX, que je vais essayer de nettoyer proprement (je pense ouvrir une issue à ce sujet)

@paternal
Copy link
Copy Markdown
Contributor

Autre question: du coup les commandes \begin{verse*} et bridge disparaissent avec chordpro ?

Je crois que oui, on peut utiliser d'autres environements pour arriver au même but. Et sinon, ajouter un {start_of_bridge}/{end_of_bridge} au parseur chordpro ne coute pas trop cher je pense.

C'est bien ce que je pensais : c'est implémenté depuis un bon moment déjà.

@oliverpool
Copy link
Copy Markdown

👍

@Luthaf
Copy link
Copy Markdown
Contributor Author

Luthaf commented Oct 12, 2015

Je ferme en faveur de #18

@Luthaf Luthaf closed this Oct 12, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants