Voilà on va commencer direct par un crochet du droit.
Utiliser des noms de fichiers selon le sens du vent ou des majuscules à la mode a de moins en moins de sens vu tout ce qui passe par l’application. Et ça rend plein de code extrèmement compliqué :
- Ajout / suppression des karas : le nommage des fichiers dépend des tags, quand tu changes un tag tu fous le bordel dans le nom de fichier
Et y’a sûrement vingt mille autres endroits où j’ai pesté contre ça en codant des trucs.
Du coup je comprends bien qu’il y en a que ça va faire râler, surtout ceux qui éditent leurs fichiers à la main alors qu’ils ne devraient pas le faire vu que l’app peut tout gêrer désormais mais il faut aussi bien qu’ils se rendent compte qu’une vaste majorité des bugs sont liés à des noms de fichiers qui changent, des soucis de majuscules/minuscules sous Windows, et d’autres joyeusetés.
Maintenant, qu’est-ce qu’on peut faire pour palier à ça ? Réfléchissons en admettant qu’on utilise ce système :
- Ecrire un fichier texte dans le dossier medias. Ce fichier aurait la liste des KIDs avec en face le nom du kara. Ca pourrait ^même être un CSV pour être triable dans un tableur si vous voulez.
- Indiquer le KID du kara sur son Karadetail côté opérateur et côté systempanel quelque part afin que l’on sache rapidement quel est le KID à modifier à la mano si vraiment on doit le faire à la mano, par exemple pour réencoder.
- Avoir une option pour créer un dossier de symlinks des paroles et des médias. En gros, pour les non-initiés, un symlink est un lien symbolique dans le système de fichiers. C’est très utilisé sous Linux, moins sous Windows (parce que un peu contraignant) mais l’idée c’est quand on veut qu’un dossier par exemple soit dispo à deux endroits simultanément on crée un lien symbolique à la place qui pointe vers le fichier original. C’est un fichier spécial, et quand on y accède (en lecture/écriture) on accède en fait au fichier original même s’il n’est pas dans le même dossier. Sous Windows c’est pas implémenté de la même façon mais l’idée est là : créer un dossier “medias-symlink” à côté du dossier medias contenant les fichiers sous forme de UUIDs.mp4. Le dossier symlink aura lui les noms de fichiers à l’ancienne. Et ce “lien” sera MAJ par KM à chaque modification de la bdd/génération. Ca pourrait palier au problème du “je veux voir les noms de fichiers legacy” mais je doute un peu de l’utilité.
- Avoir un bouton “Ouvrir le média” dans le systempanel
- Avoir un bouton "Selectionner le média dans le finder/explorateur dans le systempanel.
- Une interface simplifiée pour FFMPEG pour faire des réencodages éventuellement. Il faudrait pour ça analyser quels paramètres sont variables et qu’on pourrait executer sur le média, voir proposer d’entrer la ligne de commande soi-même. On peut imaginer un truc comme ça simplifier aussi pour ajouter une cover à un mp3 par exemple.
- Pour les gens qui utilisent pas KM mais la base on pourrait imaginer un script de renommage généré à chaque changement de la base afin de permettre à quelqu’un de renommer tous les UUIDs en noms de fichiers**. Après ça pose un souci potentiel de conflit : imaginons que deux KIDs donnent le même nom de fichier au final.
J’aimerais bien que les principaux intéressés nous aident à connaître les cas qui les obligent à manipuler les fichiers de KM à la main, afin qu’on comprenne ce que ça pose comme soucis qu’il faudrait prendre en compte et comment on peut les résoudre, par exemple en faisant en sorte que KM puisse le faire pour vous.
Désavantages
Parce qu’une idée n’est jamais sans désavantages :
- Si un jour on gère le multi-medias et multi-lyrics par kara, on est un peu niqué. Enfin il faudra probablement revoir un peu ça.
- Retrouver des fichiers via gitlab (même si gitlab de toutes façons limite les recherches sur notre git car il est trop gros). Après les noms des commits générés par KM devraient suffire
- Les gens qui utilisent la base sans passer par KM (en convention par exemple)