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.

#1 Le 27/05/2009, à 12:07

kevlar

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

Le projet est aujourd'hui bien avancé : version 0.3.1.2 au 2 Novembre 2010  !

Ella (Elegant Light Linux Animator) est un projet amateur destiné à fournir à la communauté linuxienne un générateur d'animations Flash & SVG wysiwyg, fonctionnel, léger, bien intégré aux environnements fondés sur Gtk 2+.
copie d'écran 9 novembre 2010
Ce projet est développé sur notre temps libre, c'est pourquoi il avance doucement. Ce logiciel n'a pas la prétention d'égaler l'original propriétaire,mais il essaye d'intégrer le plus grand nombre possible de ses fonctionnalités, avec une dose d'originalité.
Merci à ceux qui se sont intéressés à ce projet, et/ou m'ont fourni une aide smile et plus particulièrement au Team Ella qui existe depuis le 16/5/2010 : xapantu, lovasoa, Brozowski, grim7reaper et moi-même.

Grâce aux efforts de Xapantu et Frafa, vous avez des instruments pour le compiler ou l'installer assez facilement. Voici par exemple le script de Frafa : http://forum.ubuntu-fr.org/viewtopic.ph … 3#p3849023 (message #1387, page #56) ; pour obtenir la dernière révision, mitonnée par Xapantu ou Brozowski, vous devez installer les outils bazaar (bzr tools) ;
REMARQUES :
- pour fonctionner, il faut que les swftools soient présentes ; un coup de sudo apt-get install swftools
et c'est réglé !
- il faut ABSOLUMENT utiliser goocanvas version 0.14 ou supérieure ; si elle n'est pas packagée, vous devez la récupérer ici : http://ftp.gnome.org/pub/GNOME/sources/goocanvas/ et la compiler (très simple, très rapide ...)

Grâce à Brozowski et Xapantu, le projet est maintenant disponible sous forme de paquet .deb, que vous trouverez ici : https://launchpad.net/~ella-animation/+archive/dev

Pour discuter avec nous, nous avons un canal #irc : http://webchat.freenode.net/?channels=#ella

Il reste :
- à débuguer.
- à écrire les fichiers d'aide sous forme de fichier HTML (la votre serait la bienvenue ...)
- à continuer la traduction du logiciel : vous pouvez participer aux traductions sur Launchpad. wink
- lovasoa a commencé à travailler sur l'exportation JavaScript.

Voici deux videos de démonstration des capacités d'Ella (fin Avril 2010, le logiciel a, depuis, évolué):
- ogg :http://kevlar.legtux.org/donnees_publiq … /out-1.ogv
- xvid :http://kevlar.legtux.org/donnees_publiq … la/out.avi

Vous trouverez à la page #8 ou sur launchpad(partie /doc)la description du format de fichier propre à Ella.
Ella est sur Launchpad : https://launchpad.net/ella merci à Xapantu smile
****************************************************************************

Vous trouverez ici une prise en main rapide : introduction
Vous trouverez un 1er tuto (PDF) ici : http://kevlar.voila.net/temp/tuto1.pdf

Enfin, pour ceux qui ne sont pas rébutés par l'anglais à la sauce froggie, sur tuxfamilly : Ella sur TuxFamilly (en anglais)

Dernière modification par kevlar (Le 14/11/2010, à 09:00)

Hors ligne

#2 Le 27/05/2009, à 12:27

Daedalus11

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

C'est à toi de voir la méthode que tu veux employer. un Datadrigview serait intéressant dans la mesure ou le nombre de case est amplifié.

Dans ton cas, je te recommande d'aller choper les sources de F4L et de voir ce qu'ils utilisent.
Tu vas me dire "Oui mais je ne connais pas Qt". Il n'est pas nécessaire de connaitre Qt pour savoir le controle qu'ils utilisent wink .
les noms de widgets se différencie de très très peu.

Hors ligne

#3 Le 27/05/2009, à 12:54

kevlar

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

merci de ta réponse !
- Datadrigview appartient à GTK ?
- j'ai les sources de F4L, mais 1), c'est du C++, donc problème, et 2) c'est Qt.



EDIT : Datagridview est un contrôle de Windows d'après Google ...:(
EDIT 2 : ou alors passer par Vala, C#, Mono !

Dernière modification par kevlar (Le 27/05/2009, à 13:22)

Hors ligne

#4 Le 27/05/2009, à 16:18

philarmonie

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

kevlar a écrit :

Dois-je abandonner ces widgets pour un simple GtkTable ? Mais alors, plus de gestion dynamique ...

Pourquoi? ça se redimensionne un GtkTable wink

Dernière modification par philarmonie (Le 27/05/2009, à 16:18)

#5 Le 27/05/2009, à 16:43

kevlar

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

en effet, je viens de m'en apercevoir. Sauvé !
Par contre, tu as vu ce que je souhaite faire :
- liberté pour l'utilisateur de créer autant de lignes (correspondant à un calque) qu'il le souhaite.
- chaque ligne devra contenir des pixbufs (pris dans 2-3 modèles différents, de petits rectangles). Or, on peut demander un minimum de 512 (j'aime les chiffres informatiques lol) pixbufs par ligne ...

Avec tout ça, quid de l'utilisation de la mémoire ?

Hors ligne

#6 Le 27/05/2009, à 17:30

philarmonie

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

kevlar a écrit :

Avec tout ça, quid de l'utilisation de la mémoire ?

Ça doit pas être énorme si t'as que trois modèles de pixbuf.
Dans chaque case t'as juste un pointeur vers le pixbuf, c'est pas gourmand un pointeur smile

#7 Le 27/05/2009, à 17:45

kevlar

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

impec ' Je suis en train de passer aux Gtktables, en gardant l'interface de départ. Par contre, faudra voir comment changer le fond du tableau (en blanc, ce serait mieux !)

Hors ligne

#8 Le 27/05/2009, à 19:52

kevlar

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

ça commence à se rapprocher de l'objectif :
capturevqn.th.png
Reste à rendre "interactifs" les images (à base de GdkPixbufs maison)

Dernière modification par kevlar (Le 27/05/2009, à 19:54)

Hors ligne

#9 Le 27/05/2009, à 23:22

rniamo

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

c'est pas mal mais comment tu fais un curseur (linéaire) avec une table ?


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#10 Le 28/05/2009, à 00:09

philarmonie

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

Tu parles de la règle sur le screenshot de F4L?
Il peut mettre une drawingarea dans chaque case et dessiner dedans les traits et écrire les chiffres 1 case sur 5.

Dernière modification par philarmonie (Le 28/05/2009, à 00:14)

#11 Le 28/05/2009, à 06:31

kevlar

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

ce n'est pas à ça que je pense : pour la version Gtk, multiplier les drwingareas, même en 10x24 comme ici, finirait par coûter de la mémoire. Je pense faire ceci : garder la "table" que tu vois sur la copie précédente, mais la glisser dans une scrolledwindow, et AJOUTER au-dessus une scrolledwindow contenant la réglette style "Flash", et cette dernière dans une scrolled window également, mais SANS potentiomètres. Ainsi, deux avantages :
- c'est le déplacement du potentiomètre de la grille du scénario qui donnera l'impression de provoquer le déplacement de la réglette.
- cette dernière ser faite avec des petits pixmaps sélectionnables. La graduation se fera à travers une Vbox.

Hors ligne

#12 Le 28/05/2009, à 06:51

kevlar

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

Voici comment je vois l'IHM (ici, je n'ai pas encore le temps de raccorder au code fonctionnel du message #8)
captureu.th.png
La règle est ici faite à l'arrache, mais elle est bien contenue dans une scrolledwindow dont les curseurs sont cachés

Dernière modification par kevlar (Le 28/05/2009, à 06:52)

Hors ligne

#13 Le 28/05/2009, à 17:20

kevlar

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

Bon, un autre problème (et j'ai quand même cherché ) : comment savoir quelle case de la GtkTable a été cliquée, sachant que mon interface peut en contenir des milliers (je ne parle pas du branchement de la fonction Call-Back) ?

EDIT : il semble que l'on puisse passer en paramètre de la Callback associée à chaque bouton un pointeur sur une structure de données, ou, une chaîne, indiquant automatiquement la cellule cliquée. ON va essayer de se débrouiller avec ça, mais la mémoire file, file ...

Dernière modification par kevlar (Le 28/05/2009, à 17:30)

Hors ligne

#14 Le 29/05/2009, à 12:02

kevlar

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

J'ai un doute ... Est-il possible d'utiliser plusieurs fois une même GtkListStore dans le cadre de vues (GTkTreeView) différentes (comme si on portait plusieurs regards sur le même objet) ; j'ai fait ça :

   /* Creation de la vue en colonnes (titres) */
    pListViewLayers = gtk_tree_view_new_with_model(GTK_TREE_MODEL(pListStore));
    /* vue sur le panneau des calques */
    pViewLayers = gtk_tree_view_new_with_model(GTK_TREE_MODEL(pListStore));

C'est la variable pListStore qui est commune, ici.

Hors ligne

#15 Le 29/05/2009, à 12:08

philarmonie

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

Je dirai que c'est possible.

#16 Le 29/05/2009, à 15:51

rniamo

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

en gtk+ (version C), c'est possible, tout comme tu peux utiliser que 2 gtkwidget * pour faire ta fenêtre... mais bon wink


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#17 Le 29/05/2009, à 17:30

kevlar

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

OK, mais moi j'essaye toujours d'éviter le gaspillage de RAM. L'idée est de stocker dans un  seul GtkListore :
- les différents calques utilisés (leur nom)
- leur état (visible ou non)
- et un ensemble de pointeurs décrivant la ligne de temps de l'animation.

Mais, comme j'essaye de refaire une interface Macromedia like, je sépare dans deux ScrolledWindows, d'une part, un bloc 'nom calque+état calque' et dans une autre fenêtre, la 'ligne de temps'. L'autre idée, est qu'avec un GtkLIstore commun, détruire un calque permet de détruire automatiquement la ligne de temps, et de mettre à jour tout aussi automatiquement l'affichage.

Hors ligne

#18 Le 07/06/2009, à 19:04

kevlar

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

Bonsoir !
Quelqu'un parmi vous est-il déjà parvenu à associer un GtkRuler à autre chose qu'une DrawingArea ? 3 heures que j'essaye d'utiliser l'événement 'motion-notify' sur une GtkTable pour l'envoyer vers un GtkRuler, et bien sûr, ça ne marche pas ! (apparemment seule une DrawingArea gère l'information de position nécessaire ...)

D'une autre façon, on pourrait- s'en tirer en gérant le "clic gauche" sur la règle elle-même (GtkRuler) mais là aussi, impossible !
Comme une image vaut mieux qu'un long discours :
capturedos.th.png

Comment faire pour que la règle supérieure soit autre chose qu'une décoration ?

Dernière modification par kevlar (Le 07/06/2009, à 19:05)

Hors ligne

#19 Le 07/06/2009, à 21:42

philarmonie

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

Quand un widget ne gère pas les événements on le met dans une eventBox, et on défini les événements que l'on souhaite gérer.

#20 Le 08/06/2009, à 14:39

kevlar

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

philarmonie a écrit :

Quand un widget ne gère pas les événements on le met dans une eventBox, et on défini les événements que l'on souhaite gérer.

déjà essayé Philarmonie. ça ne marche pas, et finit pas une erreur de segmentation (pire cas) ou aucune réaction. Ma copie d'écran : les éléments de la time-line (les rectangles blancs+noirs) sont des icônes faites avec des GtkPixbuf ; pour interagir avec elles (elles sont placées dans une GtkTable) je capture le clic gauche de la souris (et je n'ai pourtant pas besoin d'une eventbox). Et ça marche : je capture ainsi la position virtuelle (calque choisi, position de l'image courante).
C'est pourquoi je sèche ...:/

Dernière modification par kevlar (Le 08/06/2009, à 14:40)

Hors ligne

#21 Le 08/06/2009, à 15:13

philarmonie

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

Effectivement j'ai testé, en plus cette classe gère nativement les événements (donc pas besoin d'un eventBox).
Il suffit d'utiliser la méthode add_events et rajouter l'event gtk.gdk.BUTTON_PRESS_MASK.
C'est juste que ce widget ne gère pas de base cet événement.

Edit: je code en python et voilà un exemple qui gère le clic sur un ruler

#!/usr/bin/pyhton

import gtk

class Win:
    def __init__(self):
        self.win = gtk.Window()
        self.ruler = gtk.HRuler()
        self.ruler.set_size_request(200, 50)
        self.ruler.set_range(0, 200, 10, 200)
        # rajoute la gestion du clic pour le ruler
        self.ruler.add_events(gtk.gdk.BUTTON_PRESS_MASK)
        self.win.connect("delete-event", gtk.main_quit)
        self.win.add(self.ruler)
        self.ruler.connect('button-press-event', self.press)
        self.win.show_all()

    def press(self, widget, event):
        print 'pressed'

if __name__ == '__main__':
    win = Win()
    gtk.main()

Dernière modification par philarmonie (Le 08/06/2009, à 15:15)

#22 Le 08/06/2009, à 15:31

kevlar

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

vous avez bien de la chance avec Python ; je te donne des extraits du code C chez moi !
1- créer une macro pour "surcharger" (ce n'est pourtant pas du C++) la méthode de l'objet GtkRuler :

#define EVENT_METHOD(i, x) GTK_WIDGET_GET_CLASS(i)->x

un peu plus loin, je crée l'IHM de la copie d'écran; je ne détaille pas. Voici néanmoins un extrait des callbacks :

	/* attachement et affichage de la règle */  

	gtk_table_attach(GTK_TABLE(pTableLayersTimeLine),TimeLineRuler,0,MAX_FRAMES+2,0,1,
        						GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL,0, 0);
  /* brancher événements souris */
  gtk_widget_add_events (pTableLayersTimeLine, GDK_BUTTON_PRESS_MASK |GDK_POINTER_MOTION_MASK
  							| GDK_POINTER_MOTION_HINT_MASK);
g_signal_connect (GTK_OBJECT (scrolledLayersTimeLine), "motion_notify_event",
                              G_CALLBACK (bouge_souris),
                              G_OBJECT (TimeLineRuler));
 g_signal_connect(GTK_OBJECT(scrolledLayersTimeLine),"button-press-event",
                     G_CALLBACK(clic_souris__window_time_line),NULL);

Donc, sur ce que je comprends du langage Python, c'est la même démarche ... et pourtant, seule la callback réagissant à "event-press-button" ... réagit ! Avec ce listing, je récupère bien sûr un clic sur la règle (GtkRuler), mais cela m'est peu utile (c'est lors de l'événement que je transcode les coordonnées de la souris en coordonnées sur la time line) ; or, la présence de la règle fausse les calculs des coordonnées en ordonnées. En effet, je ne peux savoir quelle sera la hauteur réelle de la règle (GtkRuler), chaque utilisateur pouvant utiliser uen police différente ...)

Dernière modification par kevlar (Le 08/06/2009, à 15:43)

Hors ligne

#23 Le 08/06/2009, à 15:36

kevlar

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

cette version de mon programme est déjà éloignée de celle proposée sur le tuto Gtk, qui proposait d'automatiser ainsi l'appel à la callback pour "motion-notify" (et qui ne marche pas du tout chez moi ! J'en fournis une version adaptée à mon programme) :

gtk_signal_connect_object( GTK_OBJECT(scrolledLayersTimeLine), "motion_notify_event",
           (GtkSignalFunc)EVENT_METHOD(TimeLineRuler, motion_notify_event),
           GTK_OBJECT(TimeLineRuler) );

Dernière modification par kevlar (Le 08/06/2009, à 15:40)

Hors ligne

#24 Le 08/06/2009, à 15:39

kevlar

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

Je viens de lire ton code Python, et je précise que dans mon cas, le GtkRuler est sur la première ligne d'une GtkTable, que les autres lignes de cette GtkTable contiennent les GdkPixbufs, et que le GtkTable elle-même est intégrée dans une "scrolledwindow" nommé scrolledLayersTimeLine

Dernière modification par kevlar (Le 08/06/2009, à 15:39)

Hors ligne

#25 Le 08/06/2009, à 15:51

kevlar

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

sinon, j'ai une autre version du programme n'utilisant plus de GtkRulers, mais une règle fabriquée maison :
capturefcq.th.png
Dans cette version, l'intérêt est que la règle étant dans une fenêtre séparée, elle reste toujours visible. Mais il reste à implémenter la réaction de la fenêtre de la timeline aux déplacements en continu de la règle ...

Hors ligne