As tu des détails sur ce qui empêche la libgimp d'être utilisé hors de Gimp ? Qu'attend-elle de l'application qui la charge ?
Techniquement aucune idée. J'imagine qu'à l'origine pas grand chose, mais à l'heure actuelle, changer cela doit être vraiment compliqué.
Théoriquement, je vois personnellement aucune raison. Je vois pas pourquoi on pourrait pas avoir une libgimp totalement indépendante, et GIMP utiliserait cette libgimp (et d'autres applications pourraient aussi). C'est à vrai dire ce que je ferais si je développais GIMP de zéro aujourd'hui (à vrai dire, pour tout "gros" projet que je fais, c'est le type de design que je fais: baser le programme sur une librarie indépendante qui implémente le cœur des fonctionnalités).
Historiquement j'imagine qu'à l'origine les développeurs n'ont fait la libgimp que dans l'idée d'avoir des plugins. Ils n'ont pas dû s'imaginer à l'époque que des gens pourraient vouloir ouvrir des fichiers XCF hors de GIMP.
Factuellement une application indépendante ne peut faire un include de la libgimp. Tu peux essayer, tu peux compiler, et au moment de lancer, ça dit ça: bash
./test is a GIMP plug-in and must be run by GIMP to be used
Même erreur si ton plugin est python, C, script-fu, etc. Tu dois donc lancer d'abord la console gimp et de là lancer ton script.
Au sujet des fonctionnalités, le seul outil qui m'intéresse dans Xcftools est xcfinfo. Pour tout ce qui concerne les opérations sur l'image j'utilise des scripts Scheme que je passe à gimp-console. Du coup ton outil me conviendrait bien à ceci près que j'aimerais que cela fonctionne sous Windows. J'ai commencé à migrer Xcftools pour pouvoir livrer une version Windows mais ça me semble plus difficile avec ton outil qui utilise des scripts shell.
Ok donc tu pourrais utiliser mon outil en effet (xcf-info, note le tiret, pour pas empêcher les gens qui veulent tester les deux).
En plus je me suis réveillé ce matin en me disant "pourquoi je l'ai pas écrit en C?". En effet le plus problématique de mon script est sa lenteur. Or la lenteur est dûe à 3 facteurs:
- on charge GIMP (sans UI, mais quand même): ça, je peux rien y faire;
- je fais un hash de chaque image de layer: ça c'est pour moi une fonctionnalité indispensable pour rendre xcf-info utile lors d'un git diff;
- c'est du python.
Sur des petits XCF, c'est raisonnable, mais je travaille avec des XCF en HD (1920x1080) avec des dizaines de calques, si ce n'est une centaine, de calques.
Donc comme je disais, ce matin, je me suis dit que le fait que ce soit en python est le seul truc que je peux changer. J'ai donc passé plusieurs heures à réimplémenter mon xcf-info en C (j'ai au passage découvert et corrigé un bug dans gimptool, c'est une bonne journée). Il est maintenant 2 à 3 fois plus rapide que la version en Python. J'ai quasi fini. Je pense que je pousserai ça sur le dépôt un peu plus tard aujourd'hui.
Pour le petit script shell, il fait genre une dizaine de lignes, tu l'as regardé? En gros il se contente d'encapsuler l'appel à gimp-console (parce que c'est une ligne de commande à se taper la tête au mur si on voulait retenir cela), rien d'autre (j'ai quelques lignes pour simuler un --help, mais c'est pour faire joli, y a en gros qu'une seule ligne qui sert à quelque chose en fait). Je sais bien que le shell Windows est nul comparé même aux shell Unix les plus basiques, mais ça je pense que ça peut forcément le faire quand même.
Si tu fais ce petit script Windows, n'hésite pas à m'envoyer le patch, je l'intégrerai pour les plateformes Windows. :-)
Je migre le journal dans l'espace de rédaction. Es-tu intéressé pour y présenter xcf-utils ?
Bien sûr.
Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]
[^] # Re: xcf-utils
Posté par Jehan (site web personnel, Mastodon) . En réponse au journal Outils autour de Gimp : Pack My Sprites et Xcftools. Évalué à 2.
Salut,
Techniquement aucune idée. J'imagine qu'à l'origine pas grand chose, mais à l'heure actuelle, changer cela doit être vraiment compliqué.
Théoriquement, je vois personnellement aucune raison. Je vois pas pourquoi on pourrait pas avoir une libgimp totalement indépendante, et GIMP utiliserait cette libgimp (et d'autres applications pourraient aussi). C'est à vrai dire ce que je ferais si je développais GIMP de zéro aujourd'hui (à vrai dire, pour tout "gros" projet que je fais, c'est le type de design que je fais: baser le programme sur une librarie indépendante qui implémente le cœur des fonctionnalités).
Historiquement j'imagine qu'à l'origine les développeurs n'ont fait la libgimp que dans l'idée d'avoir des plugins. Ils n'ont pas dû s'imaginer à l'époque que des gens pourraient vouloir ouvrir des fichiers XCF hors de GIMP.
Factuellement une application indépendante ne peut faire un include de la libgimp. Tu peux essayer, tu peux compiler, et au moment de lancer, ça dit ça:
bash
./test is a GIMP plug-in and must be run by GIMP to be used
Même erreur si ton plugin est python, C, script-fu, etc. Tu dois donc lancer d'abord la console gimp et de là lancer ton script.
Ok donc tu pourrais utiliser mon outil en effet (xcf-info, note le tiret, pour pas empêcher les gens qui veulent tester les deux).
En plus je me suis réveillé ce matin en me disant "pourquoi je l'ai pas écrit en C?". En effet le plus problématique de mon script est sa lenteur. Or la lenteur est dûe à 3 facteurs:
- on charge GIMP (sans UI, mais quand même): ça, je peux rien y faire;
- je fais un hash de chaque image de layer: ça c'est pour moi une fonctionnalité indispensable pour rendre xcf-info utile lors d'un
git diff;- c'est du python.
Sur des petits XCF, c'est raisonnable, mais je travaille avec des XCF en HD (1920x1080) avec des dizaines de calques, si ce n'est une centaine, de calques.
Donc comme je disais, ce matin, je me suis dit que le fait que ce soit en python est le seul truc que je peux changer. J'ai donc passé plusieurs heures à réimplémenter mon xcf-info en C (j'ai au passage découvert et corrigé un bug dans gimptool, c'est une bonne journée). Il est maintenant 2 à 3 fois plus rapide que la version en Python. J'ai quasi fini. Je pense que je pousserai ça sur le dépôt un peu plus tard aujourd'hui.
Pour le petit script shell, il fait genre une dizaine de lignes, tu l'as regardé? En gros il se contente d'encapsuler l'appel à gimp-console (parce que c'est une ligne de commande à se taper la tête au mur si on voulait retenir cela), rien d'autre (j'ai quelques lignes pour simuler un --help, mais c'est pour faire joli, y a en gros qu'une seule ligne qui sert à quelque chose en fait). Je sais bien que le shell Windows est nul comparé même aux shell Unix les plus basiques, mais ça je pense que ça peut forcément le faire quand même.
Si tu fais ce petit script Windows, n'hésite pas à m'envoyer le patch, je l'intégrerai pour les plateformes Windows. :-)
Bien sûr.
Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]