Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#2376 Le 06/03/2011, à 20:21

xapantu

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

@kevlar: Voilà, fais un pull, ça devrait fonctionner. Bon, c'est de ma faute, en fait, j'avais changé GDK_ en GDK_KEY_ pour le passage à GTK+ 3, j'avais oublié…

Hors ligne

#2377 Le 06/03/2011, à 20:27

kevlar

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

bon, compilation OK, mais l'exécutable Ella se lance sans que rien ne s'affiche, et sans rendre la main sur une erreur ?

Hors ligne

#2378 Le 06/03/2011, à 20:30

xapantu

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

Ah ?! Tu as essayer de faire un make clean, et de rééssayer ? Quand tu dis que ça n'affiche rien, ça n'affiche rien du tout, ou ça affiche quand même la fenêtre GTK ?

Hors ligne

#2379 Le 06/03/2011, à 20:33

kevlar

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

j'ai fait le make clean, et rien ne s'affiche ; voici un aperçu des retours console :

(ella:3207): Gtk-CRITICAL **: gtk_widget_show_all: assertion `GTK_IS_WIDGET (widget)' failed

(ella:3207): Gtk-CRITICAL **: gtk_image_menu_item_set_image: assertion `GTK_IS_IMAGE_MENU_ITEM (image_menu_item)' failed

(ella:3207): Gtk-CRITICAL **: gtk_image_menu_item_set_image: assertion `GTK_IS_IMAGE_MENU_ITEM (image_menu_item)' failed

(ella:3207): Gtk-CRITICAL **: gtk_image_menu_item_set_image: assertion `GTK_IS_IMAGE_MENU_ITEM (image_menu_item)' failed

(ella:3207): Gtk-CRITICAL **: gtk_widget_add_accelerator: assertion `GTK_IS_WIDGET (widget)' failed

(ella:3207): Gtk-CRITICAL **: gtk_widget_add_accelerator: assertion `GTK_IS_WIDGET (widget)' failed

(ella:3207): Gtk-CRITICAL **: gtk_image_menu_item_set_image: assertion `GTK_IS_IMAGE_MENU_ITEM (image_menu_item)' failed

Hors ligne

#2380 Le 06/03/2011, à 20:35

xapantu

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

Ah, je vois, si tu fais (dans le dossier build) :

make clean
rm CMakeCache.txt
cmake .. -DELLA_DATADIR=../data/ #je pense que c'est ça qui faisait tout planter
make 
src/ella

ça devrait marcher, je pense que c'est parce qu'il ne trouve pas les fichiers glade.

Hors ligne

#2381 Le 06/03/2011, à 20:39

kevlar

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

çà marche !
Dis-moi ce que je dois tester maintenant ...

Hors ligne

#2382 Le 06/03/2011, à 20:42

xapantu

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

Comme tu veux, il y a pas mal de trucs qui marchent, nottament  la gestion des rectangles, cercles, chemins, images (par glisser-déposer depuis nautilus), et d'autres trucs. J'ai supprimé la gestion des marges, par exemple, si tu montes un objet trop haut, la zone de travail devrait d'agrandir smile


Du coup, maintenant que ça marche, je vais mettre tout ça dans le trunk smile

Dernière modification par xapantu (Le 06/03/2011, à 20:42)

Hors ligne

#2383 Le 06/03/2011, à 20:44

kevlar

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

oui, mais sans impact sur ce qui existe ? J'ai essayé de charger un fichier existant, plantage immédiat ...

Hors ligne

#2384 Le 06/03/2011, à 20:47

xapantu

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

C'est-à-dire ? Si je le mets dans le trunk, c'est sûr, ça va virer l'ancien éditeur, il sera toujorus dans l'historique, mais il faut se dire qu'on l'oublie (même si on pourra toujours revenir en arrière, vu que c'est versioné).

Tu as essayé de modifier quels fichiers ?

Hors ligne

#2385 Le 06/03/2011, à 20:49

kevlar

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

je n'ai rien modifié, juste essayé de charger une animation classique, qui a un an, "tux airways.ella"

Hors ligne

#2386 Le 06/03/2011, à 21:08

n1c0la5

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

kevlar a écrit :

oui, mais sans impact sur ce qui existe ? J'ai essayé de charger un fichier existant, plantage immédiat ...

Je confirme (ça fait longtemps que j'ai testé, mais comme c'est pas encore ça, je me suis dit que c'était déjà connu) →d'où ma question sur la version stable...

Hors ligne

#2387 Le 06/03/2011, à 21:10

kevlar

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

et je précise qu'il s'agit d'un problème lié à vala (une liste de fichiers mal gérée ?) :

DIALOG Ouvrir
**
ERROR:arraylist.c:348:vala_array_list_real_get: assertion failed: (_tmp0_)
Abandon

Hors ligne

#2388 Le 06/03/2011, à 21:29

xapantu

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

Ah, oui, en fait, je n'ai pas trop regardé le chargement/déchargement de fichier, puisqu'on change de format, je comptais attaquer ça la semaine prochaine. Il y avait des fichiers simples qui étaient gérés il y a quelques temps, mais j'avoue que je n'ai pas testé depuis longtemps, je vais regarder ça…

Hors ligne

#2389 Le 06/03/2011, à 22:01

xapantu

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

Voilà, je viens de pusher dans le trunk, et de corriger l'erreur pour le chargement de fichier. Mais ça ne fonctionne pas très bien, même si ça ne crash plus…

edit: par exemple, vous pouvez tester contrib/tests/rectangle.ella, qui fonctionne très bien, même pour la lecture intégrée (mais c'est le seul).

Dernière modification par xapantu (Le 06/03/2011, à 22:04)

Hors ligne

#2390 Le 06/03/2011, à 22:16

xapantu

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

@Brozowski : j'ai bougé les trois images, ça devrait marcher maintenant, mais pense à ajouter la dépendance supplémentaire : libvala-0.12.

Hors ligne

#2391 Le 07/03/2011, à 09:38

Brozowski

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

xapantu a écrit :

@Brozowski : j'ai bougé les trois images, ça devrait marcher maintenant, mais pense à ajouter la dépendance supplémentaire : libvala-0.12.

Effectivement ... Il manque libvala-0.12 big_smile
Merci pour les images.

Je corrige ça pour la prochaine compilation (jeudi).

Hors ligne

#2392 Le 07/03/2011, à 09:50

kevlar

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

xapantu a écrit :

Voilà, je viens de pusher dans le trunk, et de corriger l'erreur pour le chargement de fichier. Mais ça ne fonctionne pas très bien, même si ça ne crash plus…

edit: par exemple, vous pouvez tester contrib/tests/rectangle.ella, qui fonctionne très bien, même pour la lecture intégrée (mais c'est le seul).

donc, cela signifie que la version disponible dans les dépôts est maintenant en régression ?

Hors ligne

#2393 Le 07/03/2011, à 10:06

n1c0la5

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

kevlar a écrit :
xapantu a écrit :

Voilà, je viens de pusher dans le trunk, et de corriger l'erreur pour le chargement de fichier. Mais ça ne fonctionne pas très bien, même si ça ne crash plus…

edit: par exemple, vous pouvez tester contrib/tests/rectangle.ella, qui fonctionne très bien, même pour la lecture intégrée (mais c'est le seul).

donc, cela signifie que la version disponible dans les dépôts est maintenant en régression ?

Oui, d'après ce que j'ai testé hier soir, et je confirme pour le chargement de fichiers, la majorité ne fonctionnent pas (soit rien ne s'affiche pas dans Ella, soit j'ai des gros carrés noirs...)

Dernière modification par nicodemadrid (Le 07/03/2011, à 10:10)

Hors ligne

#2394 Le 07/03/2011, à 19:40

xapantu

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

Ben oui, forcément, je n'ai pas finit de tout re-coder. En fait, je pensais quand je disais que c'était pas finit, je voulais dire que c'était vraiment pas finit tongue . Si ça pose un problème, on peut faire un revert, mais franchement, vu le nombre de commit dans le trunk ces dernières semaines, je pense qu'il est plus intéressant de proposer une version qui, bien qu'elle soit incomplète, sera le futur d'Ella, plutôt que de ne rien bouger du tout. (C'est d'ailleurs le principe des versions de développement ^^" )


Et après, dire que c'est en régressions, ça se discute aussi, on ne peut pas vraiment dire qu'il n'y a que des régressions. Sur certains points, et notamment sur l'ergonomie générale, le nouvel éditeur est plus avancé que l'ancien.

Hors ligne

#2395 Le 07/03/2011, à 19:47

kevlar

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

D'accord pour t'accorder qu'il y a un sacré progrès, chapeau !

Mais il ne faut pas mettre cette version dans la partie destinée aux utilisateurs lambda ...
Autre chose : je n'ai pas regardé le code du nouvel éditeur, mais ce serait peut-être bien de nous faire un résumé pour expliqure comment sont maintenant stockées les données en interne ?

Hors ligne

#2396 Le 07/03/2011, à 19:48

Brozowski

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

+1 pour xapantu

Par contre moi je voudrais que vous fassiez très attention aux dépendances. Non seulement pour moi faire les paquet mais aussi pour pouvoir avoir un "large" panel de distrib passible. Je suis maintenant sous Debian (je ne préciserai pas ici les raison qui m'on pousser à laisser Ubuntu de côté) et par exemple il n'y a pas de libvala-0.12 (alors que je suis en unstable). GTK 3 n'est pas encore prévus pour Debian alors qu'il est déjà dans Natty. Je sais bien que ELLA est avant tout un projet pour Ubuntu mais il serait préférable que ça reste compatible avec les autres (Fedora, OpenSuSe, Arch, Debian, ...). Donc allez molo sur les nouveautés wink

Hors ligne

#2397 Le 07/03/2011, à 19:49

kevlar

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

+1
mais pour le moment Gtk3 n'est plus utilisé

Hors ligne

#2398 Le 07/03/2011, à 19:54

xapantu

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

@kevlar : oui, je comptais faire ça assez rapidement smile. Pour les utilisateurs lambda, je suis désolé, mais, comme dit plus haut, c'est une version de développement, donc, il faut qu'ils utilisent les tar.gz si ils veulent un truc stable smile.

@Brozowski : Pour GTK+ 3, justement, c'est pour ça qu'on n'y est pas passé finalement. Concernant libvala-0.12, ça m'étonne un peu, c'est sortit il y a plusieurs mois si je me souviens bien, ça devrait arriver…


Et sinon, pour moi, Ella n'est pas plus destiné à Ubuntu qu'à une autre distrib, le but est quand même d'avoir un logiciel à peu près portable, au moins sur GNU/Linux smile

Hors ligne

#2399 Le 07/03/2011, à 21:56

xapantu

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

Alors, pour la nouvelle structure d'Ella, je fais un truc rapide maintenant, je ferais un truc plus documenté plus tard.


Donc, le nouvel éditeur ne se base pas sur GooCanvas, contrairement à l'ancien. GooCanvas est une librairie qui permet de créer des canvas, c'est une couche au-dessus de l'api de cairo qui permet de gagner du temps. Sauf que dans le cas d'Ella, on a besoin d'avoir accès à un plus bas niveau, c'est à dire directement à l'API de cairo pour pouvoir faire des dessins compliqués.


Je me suis basé sur Vala pour certaines parties, qui est un langage orienté objet qui se base sur GObject, et qui est compilé après une traduction vers du code C.


Alors, au niveau du code, j'ai tout d'abord agrandit libellacore avec du code Vala, voir dans lib/libellacore/common (dans common parce que les contenu appartien au namespace Ella.Common).

Là dedans, il y a : les items, les layers, les keyframes (et un fichier avec des trucs pour des maths, mais rien de très important).

Les keyframe contiennt toutes les propriétés de l'objet qui peuvent changer, c'est à dire la position, la taille, la couleur…

Les items possèdent une liste de keyframe, et ont une fonction pour calculer leur position à un temps x si ils ont une keyframe à un temps y et un temps z. Si on arrive sur y, on a directement accès aux propriété de la keyframe sur y, pareil sur z. Si on est sur x, on a accès à une donnée temporaire calculée à partir des keyframes y et z.

Ces items sont contenus dans les layers.


Ensuite, dans ellacanvas/ (le code sera probablement migré vers lib/libellawidgets dès que je trouverais du temps), il ya un module, toujours écrit en Vala, qui contient un widget, EllaCanvas.
Ce widget est ajoutés par le main dans l'interface au démarrage, et un pointeur global est accessible depuis tout Ella, ça me semble nettement plus simple vu la structure actuelle du projet (et si on a qu'une variable globale, je suppose que ça va encore).

Ce canvas a une API publique, accessible en C ou en Vala, avec un préfixe en ella_canvas_canvas (car c'est le canvas qui appartient à Ella.Canvas qui sera/est en cours de documentation, il y a des fonctions comme ella_canvas_canvas_set_selection_color, ella_canvas_canvas_new, ella_canvas_canvas_export_to_png, ella_canvas_canvas_remove_selected_item, ella_canvas_canvas_add_layer…

Ce canvas a une liste avec tous les layers, et une liste avec les items sélectionnés, il fait appel aux layers pour dessiner les items (via un context cairo), qui eux-mêmes font appel à une fonctions des items pour qu'ils se dessinent.

Les événements sont directement gérés par le canvas.


Un exemple sur la gestion des fichiers, par exemple :

  • L'utilisateur appuit sur "Ouvrir"

  • Fonctions callback dans callbacks.c ou similaire

  • Appel d'une fonction appelé quelque chose comme ella_file_open_ella_file, qui retourne une struct EllaFilesData, qui contient toutes les données du fichier (tailles, layers…)

  • Les layers sont chargés un par un dans EllaCanvas (qui a été auparavant vidé), à l'aide de ella_canvas_canvas_add_layer

  • Pareil pour les tailles de la page, avec ella_canvas_canvas_set_page_width

  • Et demande d'affichage du canvas, le fichier est chargé


Voilà, j'essayerai de faire un truc plus complet avec une vrai documentation dans quelques temps.

Dernière modification par xapantu (Le 07/03/2011, à 21:57)

Hors ligne

#2400 Le 08/03/2011, à 11:39

kevlar

Re : Ella : projet de logiciel d'animation Flash & SVG pour Linux

en résumé, tu viens d'opérer un changement complet de philosophie pour les données :
- AVANT : les données étaient décrites comme dans Adobe Flash, c'est à dire "frame based" -> on ne décrit pas ce qui survient à chaque item, mais on décrit ce qui se passe sur chaque image.
- APRES : données décrites comme dans le SVG, c'est à dire "time based" -> on prend chaque objet/item, et on décrit les évènements qui surviennent.

Pour ma part, en découvrant le SVG, j'ai dit tout le bien que je pensais de la seconde version, mais ... cela signifie que les anciens fichiers Ella passent à la poubelle, car ils sont organisés comme ceux d'Adobe Flash.

Hors ligne