le lab

Un plugin pictotron pour dotclear

Comme dotclear c'est trop bien, j'ai fait l'effort de lire la doc sur les plugins et d'en faire un pour le badge de Pictotron. Cela évite d'avoir à recopier le vilain html (qui reste disponible sur Pictotron quand on est loggé). Je le ferai survivre en même temps que le badge lui même.

Grosses modifs sur Mobipict

Mobipict a été un peu changé entre 2005 et 2006. J'avais fait la conversion 3gp vers flash vidéo pour que les gens qui n'ont pas quicktime puissent voir les vidéos.

Mais Bouygtel et SFR convertissent les vidéos en avi. Et puis rajoutent de la pub un peut partout. Donc il a fallu sortir le grand jeu:

  • seuls les jpeg sont importés, et les gif sont éjectés.
  • nettoyage des messages publicitaires en texte (encore à vérifier)
  • conversion des vidéo entrantes en 3gp et flv. On peut télécharger les fichiers originaux.

Si des gentils orangistes (orangeux, orangesques) avaient aussi la gentillesse de tester, ce serait cool. Merci d'avance.

Movie getDuration() avec QTJava

QTJava me sert à pas mal de choses. Notamment, je m'en sers pour déterminer automatiquement la durée des films 3gp sur Mobipict. J'en profite juste pour noter quelque chose car je ne l'ai pas rencontré ailleurs.

En effet, quicktime for java renvoie une valeur bizzarre pour Movie.getDuration(). En fait c'est une valeur qui est liée au TimeScale du film. Chaque film vu par quicktime a en effet un timescale qui fait des ticks et qui définit une échelle de temps par rapport à laquelle tout le monde s'accorde. Comme le 3gp c'est du quicktime (en gros), il y a cette info.

Tous les codes que j'ai trouvé utilisent des bouts de code exploitant directement getDuration() ou le divisant par une valeur arbitraire. C'est faux. En effet, parfois le film a un timescale de 1, parfois de 600 (valeur par défaut). Dans mon cas, c'est différent.

Pour obtenir la durée en secondes d'un film, il vaut mieux faire:

QTSession.open();
importFile = new QTFile(sourceFile);
myMovie = Movie.fromFile(OpenMovieFile.asRead(importFile));
duration = myMovie.getDuration()/myMovie.getTimeScale();

Voilà!

Success story

L'article que j'aimerais écrire, il est là: How to become an independent programmer in just 1068 days. Bon, il est en anglais, mais il n'en est pas moins intéressant. Faut juste remplacer 'mac indie developer' par 'web tycoon' ;-)

Nouvelle version 1.1 de Pictotron pour Janvier

J'ai fait du swing grâce à Pictotron... Du Swing Java. Pas cool en effet. Certainement très puissant (vu le nombre de listeners), mais pour faire un layout, mama mia.

Enfin bref, tout ça pour annoncer une nouvelle version de Pictotron depuis ce matin, avec..... Tada: les images privées! OK, pas de quoi s'énerver, sauf que de le faire devient un peu difficile. J'ai du séparer les méthodes entre Pictotron et Instantpict pour la première fois depuis le début. Comme quoi ça fait un choc!

Le swing je l'ai fait parce que j'en ai profité pour mettre à jour l'uploader (c'est peut être ce qui m'a pris le plus de temps). La version originale avait été faite par un sous-traitant en Estonie (c'est beau l'Europe du libéralisme), mais vu que j'étais un peu désœuvré, et que le jeune Timur en question était un peu occupé, j'ai relevé mes manches. Faut en plus que je fasse la version complète de l'uploader pour Instantpict, mais là je me repose en faisant du php;-)

J'ai même fait une page d'aide en français et en anglais pour expliquer comment fonctionne le téléchargement, les images privées etc.

Et j'en ai profité pour commencer une liste de fonctionnalités pour la 1.2 de Pictotron...