Blog graphique 2

englishThere is also an english version of this article
françaisComme il manque sur Ubuntu 9.04 Jaunty (version de test) MyPaint (logiciel de peinture), Pencil (logiciel d’animation) et Sakura (terminal léger en gtk avec onglets). Comme Jaunty est également le seul ubuntu 64 bits a booter sur mon atom 330, j’ai du installer à partir des sources ces trois logiciels. Pour les version d’Ubuntu plus anciennes, GetDeb contient les paquets de ces trois logiciels (MyPaint et Pencil)

Paquets deb, que j’ai généré pour ubunutu-9.04-alpha6 (amd64/x86_64), Pencil n’est qu’un binaire, pas de paquet pour mypaint 0.7.0 :
http://popolon.online.fr/deb/jaunty-amd64/
version x86:
http://popolon.online.fr/deb/jaunty-i386/

Mypaint :
Installer les dépendances
sudo apt-get install build-essential g++ scons swig python2.6-dev libglib2.0-dev python-numpy-dev
Récuperer les sources de MyPaint :
wget http://download.gna.org/mypaint/mypaint-0.6.0.tar.bz2
tar xf mypaint-0.6.0.tar.bz2 && cd mypaint-0.6.0
# Fonctionne avec toutes les versions dont
# la version git

scons # (scons -j4 pour compiler en utilisant les 4 cœurs de l’Atom330 en parallèle).
sudo scons prefix=/usr install

Une entrée apparait automatiquement dans le menu (graphisme), mais il faut ensuite corriger l’icone du menu à la main.

Pencil :
Installer les dépendances
sudo apt-get install qt4-qmake libqt4-dev libming-dev
Récuperer les sources de Pencil :
wget http://downloads.sourceforge.net/pencil-planner/pencil-0.4.4b-src.zip
(la version svn conseillée krach).
Compiler puis installer :
unzip -x pencil-0.4.4b-src.zip
cd pencil-0.4.4b-source/
qmake
make # (make -j4 pour compiler en utilisant les 4 cœurs de l’Atom330 en parallèle).
cp Pencil /usr/bin
Il faut ensuite crée une entrée dans les menus à la main, ou le lancer via un terminal : Pencil (avec P capitale).

Au passage, Drawpile un autre petit outil de peinture numérique qui permet de travailler à plusieurs, par contre, je ne sais pas d’où vient le problème mais cet outil censé gérer la pression de la tablette ne le fait pas chez moi.

Sakura :
sudo apt-get install cmake libgtk2.0-dev libvte-dev
cd /tmp/ wget http://www.pleyades.net/david/projects/sakura/sakura-2.3.3.tar.bz2
Dans /usr/local)
cmake . && sudo make install
Ou, si on veut, dans /usr
cmake -DCMAKE_INSTALL_PREFIX=/usr . && sudo make install

Pencil offre de nombreuses possibilités en animations, je n’ai pour le moment fait que quelques essais, mais voici quelques pistes possibles, dans l’état actuel du logiciel, voici donc livré quelques éléments interessants pour l’utilisation. J’essaierais d’augmenter ce billet dans les jours à venir ou d’en créer un autre,
au fur & à mesure de mes expériences.

Le forum officiel abrite déjà quelques en français, cela peut valoir le coup d’aller le visiter.

Pour commencer, des points très interessants de ce logiciel, pour les bidouilleurs ou fonceurs. Je parle principalement du point de vue d’un utilisateur sous GNU/Linux mais des éléments peuvent sans doute s’appliquer sur d’autres OS.

Coté fichier
La sauvegarde du document de travail se décompose quant à lui comme suit :
Le fichier XML (donc scriptable) de représentation de l’animation lui même.
un sous répertoire .data/ contenant les vecteurs (.vec), les bitmaps (.png) et la palette (.xml).
** La palette n’est pas compatible GPL (Gimp/Inkscape/Agave), malheureusement), mais une moulinette ne serait pas compliquée.
** les png sont juste de la taille du dessin et conserve la transparence, ce qui permet un retraitement avec un autre outilaprès linetest et avant réimport.

* Le format utilisé pour l’animation est du type XML, donc, le fichier une fois sauvegardé est scriptable facilement. Il en va de même pour les éléments vectoriels, qui ne sont malheureusement pas au format SVG.
* L’export video ne fonctionne pas sous Linux (du moins pas chez moi), mais on peut sauvegarder en séquence de PNG (avec transparence et sans perte de qualité) ou JPG (sans transparence, mais avec perte de qualité).
La sortie vidéo ne fonctionne pas, mais la sortie en séquence d’image offre des possibilité plus importantes :
* Importer pour post-traitement : Gimp-gap, Blender, Inkscape, Imagemagick ou autre logiciel spécialisé.
* Importer dans un logiciel de montage non-linéaire (qui font aussi du post-traitement) : Jahshaka, openmovieeditor, Kdenlive ou le plus imposant Cinelerra

Pour encoder la vidéo dans un terminal ou en script avec mencoder (exemples simples, toutes les combinaisons sont possible):
pour les PNG, sortir un mpeg4/avi à 24 images par seconde :
mencoder "mf://*.png" -mf fps=24 -ovc lavc -lavcopts vcodec=mpeg4 -o VIDEO.avi
ou pour les JPEG, et sortir un mpeg4/avi à 12 images par secondes :
mencoder "mf://*.jpg" -mf fps=12 -ovc lavc -lavcopts vcodec=mpeg4 -o VIDEO.avi
Plus compliqué pour un flv (format vidéo flash) à 15 image/seconde :
mencoder "mf://*.jpg" -ofps 15 -ovc lavc -lavcopts vcodec=flv -ffourcc FLV1 -o VIDEO.flv
VIDEO est à remplacer par le nom de votre choix.

ATTENTION, l’encodage de PNG avec transparence peut poser problèmes, il vaut mieux enlever l’alpha des PNG avant l’encodage.
Pour cela, il faut applatir l’image, ici avec un fond blanc (astuce trouvé ici) :
convert image.png -background white -flatten +matte image_new.png

Pencil, que j’ai déjà décrit ici, est un fantastique outil d’animation.

J’ai crée un binaire de Pencil-0.4.3b pour eeePC-701/Xandros (mirror), ce logiciel devrait nécessiter la préinstallation via apt-get de libming-0 ainsi que libqt4 :

sudo apt-get install libming-0 libqt4

Il faut ensuite le decompresser :
bunzip2 Pencil-0.4.3b.xandros.eeepc701.bz2

Il suffit alors de la lancer…

Pour compiler le dernier SVN, sur Ubuntu-64 (il n’y a pas encore de paquets), il faut installer les paquets libqt4-dev, libqt4-opengl-dev libming0 et libming-dev :
sudo apt-get install libming-0 libming-dev libqt4-dev

Ensuite (sur ubuntu-64 comme partout ailleurs sans binaire prééxistant) :
svn co https://pencil-planner.svn.sourceforge.net/svnroot/pencil-planner pencil-planner
puis dans le répertoire lui même :
sous Ubuntu (comme d’autres distrib) :
qmake-qt4
plus généralement (comme sur ma LFS) :
qmake
puis (partout) :
make
Un executable Pencil (avec un P majuscule sera crée), il suffit alors de le copier dans un chemin standard ou dans son compte), aucun autre fichier n’est nécessaire. Et de le lancer

Après un essai sur Xubuntu (une version d’Ubuntu utilisant le bureau léger XFCE) de Pencil, un logiciel d’animation sous license Gnu GPL (pour GNU/Linx, MacOSX et les clônes de Wine incluant la version de MS appellée ixpé) ,

Pencil est une application un peu jeune mais vraiment très efficace pour l’animation. Il est principalement orienté vers l’animation traditionnelle dessinée mais peut également être utilisé pour d’autres types d’animation mélangeant différents médias.
Fonctionnalitées :
* multicalques (plusieurs calques bitmap(matriciels) au choix, plusieurs calques vectoriels au choix, un calque de caméra (plusieurs possible sur la version SVN), le SVN inclus plusieurs calques sonores (au choix).
* déplacement, zoom et rotation de la vue (permettant de dessiner sur une surface qui à tourné) objets et caméras.
* gestion de la pression de la tablette (pour les outils crayon, pinceau et plume)
* pelure d’oignon (onionskin) pour le plaisir des animateurs :)
* importation des bitmaps png/jpg (et des format vectoriel SVG comme bitmap (exporter en png dans inkscape)).
* exportation au format mov (animation macintosh), seulement sur Mac et peut-êtr eles clônes de Wine)
* exportation image par image en png (avec transparence) ou jpeg, ce format peut être facilment réouvert dans gimp ou le greffon d’animation Gimp, gimp-GAP, ou réassemblé en film à l’aide de mencoder (inclus dans le projet mplayer) ou bien transcode.
* exporté comme film SWF (mes tests n’étaient pas très concluants, seuls la partie vectorielle fonctionnait parfaitement dans la version SVN, avec libming en version 0.4.0.beta5)
* ligne de temps, avec la possiblité de maquer les objets des différentes couches (ça c’est genial et indispensable)
* l’interpolation des mouvements de caméra (malheureusement, pas encore possible avec les objets)
* gestion de palette (le format GPL utilisé par gimp/Inkscape/Agave n’est pas géré au moment où j’écris cet article)

Update : The following described problem was due to libXi < 1.1.3, you can easily correct this by installing libXi-1.1.3 (lib) and the dependence inputproto >= 1.4 (proto), the last one are on x.org mirrors, go to individual subdir and then the lib or proto subdirs to get these versions. Upgrade only these two libs works with x.org 7.2

I really liked it, then tried to compile it on my main Linux From Scratch production computer, the compilation works perfectly, but sadly, when I tried to launch it on my LFS box, I obtained the following error:

Pencil: xcb_xlib.c:41: xcb_xlib_lock: Assertion `!c->xlib.lock' failed.
Aborted

This is a common problem on xlib coded application, that yet aren’t tested on libxcb_xlib systems. XCB is a replacement of Xlib on X11 graphic interface, that allow faster access to graphical ressources a better way. XlibXcb is a wrapper to Xlib, allowing application coded for xlib to take transparently benefits of the new xcb architectures. But there is still some software that aren’t compatible, due to some light errors on (un)locking.

Some GNU/Linux distro patched libxcb to automatically pass this or doesn’t install xcb_xlib wrapper to avoid errors.
Some other have patched it with an environment variable to set to avoid the bug:

export LIBXCB_ALLOW_SLOPPY_LOCK=1
launch_your_application

Else the main two possible errors, for not corrected applications are:
xcb_xlib.c:41: xcb_xlib_lock: Assertion `!c->xlib.lock' failed.
xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.

More information on this Debian-devel message:
http://lists.debian.org/debian-devel-announce/2006/11/msg00010.html

The libxcb patch proposed in Linux from scratch with LIBXCB_ALLOW_SLOPPY_LOCK settable variable.

I don’t have only the bug only with Pencil, but with few other applications:
xsetwacom (from linuxwacom project) and few other. Searching on Google, at least some release of Sun implementation of Java suffer the same bug.

I hop this will help some people using those application and having bug to find a mean to avoid it until these application are patched.

Propulsé par WordPress

Switch to our mobile site