patacrep / patanet

Web interface for LaTeX songbook generation
GNU Affero General Public License v3.0
10 stars 3 forks source link

Display songs #137

Open oliverpool opened 9 years ago

oliverpool commented 9 years ago

Comme évoqué dans #132, voici des tests de design pour intégrer les informations tirées des chants.

Pour l'instant les "informations" sont purement arbitraires (et rarement en rapport avec le chant). Je suppose qu'il vaut mieux attendre l'intégration de ChordPro dans patacrep avant de parser correctement (@Luthaf : tu penses que c'est bientôt prêt ?).

La deuxième étape sera l'interface pour modifier les chants (là aussi avec des données factices dans un premier temps).

Cette branche est un WorkInProgress (voir les TODO innombrables^^).

Luthaf commented 9 years ago

Je suppose qu'il vaut mieux attendre l'intégration de ChordPro dans patacrep avant de parser correctement (@Luthaf : tu penses que c'est bientôt prêt ?).

Il faut que je me motive pour écrire le script de transition de patadata. Sinon, le format est supporté sans problème par patanet.

paternal commented 9 years ago

Il faut que je me motive pour écrire le script de transition de patadata. Sinon, le format est supporté sans problème par patanet.

Excepté pour les accords et les tablatures (qui sont, si je me souviens bien, copiés sans analyse). Mais c'est toujours dans ma todo liste.

oliverpool commented 9 years ago

J'ai pris un peu de temps pour le projet et j'ai trouvé ce site (http://ukegeeks.com/demo.htm) qui permet de rendre les fichiers chordpro (et de les éditer).

L'affichage des chant me parait tout à fait correct (je n'ai pas encore regardé le code) et je pense qu'avec quelques améliorations, il y a moyen de faire quelque chose de pas mal (édition live, voire unifiée).

PS : le site est destiné aux Ukulélés PPS : sources dispo sur https://github.com/buzcarter/UkeGeeks

oliverpool commented 9 years ago

J'ai trouvé un outils ultra puissant de Parsing (en JavaScript): http://pegjs.org/online Cela pourrait permettre:

Voici la grammaire (assez moche je reconnais) que j'ai écrite en un soir pour convertir LaTeX vers chordpro : https://www.zerobin.net/?ea2f1a7c1b3d9fbd#Ke+U8OcW7jIwun4pQZXSJO1PToioLpjmLLGU0QN41EI= (testé juste avec le chant Greensleeves)

Luthaf commented 9 years ago

J'ai pris un peu de temps pour le projet et j'ai trouvé ce site (http://ukegeeks.com/demo.htm) qui permet de rendre les fichiers chordpro (et de les éditer).

C'est super cool ça ! Le rendu en "statique" est fait en JS, c'est bien ça ?

J'ai trouvé un outils ultra puissant de Parsing (en JavaScript): http://pegjs.org/online

Pour le parsing en live des chants, il est déja implémenté en Python ici, et on pourra faire de l'AJAX pour gérer le temps réel.

Pour le script de transition, j'avais commencé quelque chose (https://github.com/patacrep/patadata/pull/17), et il n'y a pas besoin d'instance node, étant donné que le dépôt sera entierement transformé en chordpro. Si tu es motivé pour faire la transition avec JS, lance-toi !

oliverpool commented 9 years ago

J'ai un peu avancé sur le sujet...

Je ne sais pas trop comment "servir" les images des albums. Pour l'instant j'ai un "hack" dans loca_settings pour que http://127.0.0.1:8000/data/songs/as_de_trefle/haut-les-nains.jpg soit affiché:

STATICFILES_DIRS = settings.STATICFILES_DIRS + (SONGS_LIBRARY_DIR,)

Il y a sûrement plein de choses à corriger/nettoyer, n'hésitez pas à commenter ! (j'ai conscience d'avoir une belle marge de progression en python ^^).

Luthaf commented 9 years ago

Je ne sais pas trop comment "servir" les images des albums. Pour l'instant j'ai un "hack" dans loca_settings pour que http://127.0.0.1:8000/data/songs/as_de_trefle/haut-les-nains.jpg soit affiché:

Semi-problème ici : on donne accès à tous les fichiers dans SONGS_LIBRARY_DIR, ce qui n'est peut-être pas le mieux. On pourrais ajouter une étape de copie des images dans STATIC_DIR dans la fonction manage.py importsongs.

Sinon le code me semble bon !

oliverpool commented 9 years ago

on donne accès à tous les fichiers dans SONGS_LIBRARY_DIR, ce qui n'est peut-être pas le mieux.

Ca ne me dérange pas outre mesure, car SONGS_LIBRARY_DIR est patadata !

Merci pour la relecture :smile:

Je suis en train de me dire que la langue est assez inutile dans la SongView, je propose donc de ne pas l'afficher (il peut-être utile en BDD pour trier ou filtrer une collection de chants)

Avant d'aller plus loin, je vais attendre la résolution de https://github.com/patacrep/patacrep/issues/93

Luthaf commented 9 years ago

Ca ne me dérange pas outre mesure, car SONGS_LIBRARY_DIR est patadata !

Pas nécessairement, si on implémente des bibliothèques locales pour avoir des chants privés (cf https://github.com/patacrep/patanet/issues/42#issuecomment-44861949)

oliverpool commented 9 years ago

J'avais oublié ce paramètre.

Mais du coup tu ne voulais pas faire un autre dossier (datadir) pour les chants privés? (qui lui ne serait donc pas exposé)

Luthaf commented 9 years ago

Mais du coup tu ne voulais pas faire un autre dossier (datadir) pour les chants privés? (qui lui ne serait donc pas exposé)

Ça dépends comment ç'est fait. On peut soit laisser ça tel quel avec un commentaire "attention, expose tout patadata", soit écrire une vue pour servir ces fichiers.

oliverpool commented 9 years ago

Ok, comme tu préfères !