Skywalker13

Diary of an ex-GeeXboX developer…

Quoi de neuf... ~ 🇫🇷

Posted at — Jul 3, 2010

Hello,

Pas beaucoup de nouvelles depuis passablement de temps. Je vais faire néanmoins un petit tour en bref des quelques activités sur lesquels j’ai travaillé. Mon activité sur les projets GeeXboX à baissé nettement depuis quelques semaines pour plusieurs raisons. J’ai eu 3 mois de service civil où j’ai qu’en même pu travailler dans mon domaine (l’informatique et plus précisément la programmation). Et de ces trois mois, sont nés deux petits projets hébergés sur les serveurs GeeXboX.

DaisyDuck & libduck

Je vous invite à consulter le site internet. DaisyDuck est un lecteur de livre audio Daisy 2.02, basé sur Qt et libVLC. Il est multi-plateforme et distribué aussi bien pour Windows que pour Linux. Il pourrait également être adapté sans trop de problème à MacOSX. Mais pour des questions de temps, je me suis arrêté à la version Windows.

Il existe de “nombreux” (beaucoup de commerciaux aussi) programmes de lecteur de livre Daisy. Mais la grande différence avec DaisyDuck c’est tout d’abord libVLC. La plupart ne sont pas capables de lire une grande variété de format, et encore moins de protocole réseau. Même qu’en principe pouvoir lire n’importe quel format n’est pas un respect entier des spécifications. Par contre c’était le but de mon travail. Permettre la lecture de livre en ligne, ce que le logiciel est parfaitement capable de faire, et ça fonctionne à merveille. Merci à l’équipe de VideoLAN.

Le deuxième petit projet est donc libduck. Il est également présenté sur le site internet de DaisyDuck. Son but est de réaliser le “parsing” des fichiers Daisy 2.02.

Malheureusement je n’ai pas utilisé libplayer comme base à DaisyDuck. La raison principale est que libplayer n’est pas encore très utilisable (compilable) pour Windows pour différentes raisons techniques. Et faute de temps, je ne pouvais pas me permettre de travailler sur le port de libplayer dans mon temps destiné à mon service civil.

Valhalla

Bien que j’ai terminé le service civil depuis fin mai, il me fallait également trouver un emploi. Et depuis mi juin, j’effectue des trajets relativement longs par jour. Mon temps libre en soirée est devenu presque nul. Je me motive alors à travailler sur les projets GeeXboX, dans le train. Et faut bien l’avouer, c’est difficile d’avancer vite. Mais ça avance qu’en même, et sur libvalhalla cette fois ci.

J’ai commencé sérieusement à ajouter le support des langues pour les méta-données. Le patch devrait arriver très vite, peut être même demain. Par contre ce n’est pas encore complet. Je dois adapter les fonctions pour les sélections des méta-données afin de pouvoir filtrer sur les langues, il me faut aussi encore implémenter le support des grabbers multi-lingues. Ou tout du moins, pouvoir paramétrer les grabbers multi-lingues pour récupérer les données dans une langue spécifique. Au moment où j’écris ces lignes, j’ai uniquement ajouté le support des langues dans la base de donnée, et adapté les grabbers afin que l’information de langue soit correctement indiquée avec les meta-données. Par exemple, le grabber Allocine indique ainsi du “fr” pour ce qui est des résumés, catégories, etc,.. Les autres grabbers sont en principe en “en” et les données qui n’ont pas de langue (par exemple un codec, la taille du fichier ou alors la résolution) sont indiquées comme “undef”. Toutes les méta-données récupérées par les “parsers” sont également en “undef”.

Un autre projet dans lequel je veux me lancer sérieusement, c’est de pouvoir paralléliser le “downloader” et les “grabbers” pour un même fichier. Afin de récupérer les images un peu plus vite. Mais je ne veux pas rentrer dans ce genre d’explications avec ce poste.

libplayer

Aux alentours de mai, j’ai intégré le support de VDPAU directement dans libplayer. Alors non, il n’y a rien d’extraordinaire, ça concerne quelques lignes. L’idée c’est que pour pouvoir exécuter MPlayer correctement avec VDPAU, il faut connaître les caractéristiques du GPU. Et pour ça, il faut interroger la carte graphique. Avec GeeXboX, cela se faisait en dehors d’Enna/libplayer avec un script et un exécutable. Mais ceci n’est plus nécessaire, car maintenant libplayer fait cette tâche de manière transparente.

Enna

Nicolas à modifié en profondeur le VFS d’Enna. J’ai donc pris le temps de retravailler le browser Valhalla. Celui-ci est désormais mieux fait au niveau des chemins d’accès (je n’ai pas envie d’expliquer ça ici). Bref, en gros ce browser re-fonctionne avec le nouveau VFS mais il a qu’en même quelques petites régressions qui ne devraient pas être trop difficiles à corriger.

Le projet de “hardware”

Réaliser un set-top box GeeXboX est très nouveau et assez ambitieux. L’idée est de partir de zéro, de la schématique au PCB puis aux prototypes, pour finir avec la distribution GeeXboX/Enna optimisée au mieux pour le matériel. Le seul gros obstacle actuellement c’est la difficulté à avoir accès aux datasheets des composants intéressants (NDA nécessaires dans quasiment tous les cas). On vise bien sûr le full-HD avec si possible un petit plus par rapport aux autres boards. Tel que par exemple des ports miniPCIe. On a les ressources techniques, manque la doc :-). Ensuite il y aura forcément le problème du temps qui pourra être investi dans ce projet. Mais pour le moment je suis assez confiant.

Pour terminer (et pour arrêter de parler de moi)

Toolchain

Davide fait un gros boulot depuis plusieurs semaines. Il a pris une excellente initiative concernant le toolchain GeeXboX. Le but est d’avoir un toolchain basé sur opkg. Tout se construit via des paquetages, que se sois les dépendances pour la construction du toolchain (gcc, binutils, etc…) que les éléments du “target”.

J’ai toujours aimé le toolchain GeeXboX pour sa simplicité. On entend souvent parler d’OpenWRT par exemple. Il est sûrement très bien, mais notre toolchain c’est notre identité. J’ai toujours été réticent à le voir se faire remplacer par une solution qui viendrait d’ailleurs. Alors un grand merci à Davide pour avoir fait ce gros job!

Le site web

Benjamin en avait marre du site web. Je le comprend tout à fait car j’ai toujours eu la flemme d’y faire des modifs. Faut être clair, chez GeeXboX en principe faut un peu toucher à tout. Mais parfois les tâches comme le site, pas grand monde à envie d’y mettre les mains. Alors Benjamin à basculer sur WordPress qui simplifie grandement la vie aussi bien pour la facilité que pour le design.

J’aimerais qu’en même dire un mot sur l’ancien site. Il avait une particularité en comparaison à beaucoup d’autres sites internet. Ce bon vieux site était entièrement réalisé en XML+XSL (un très bel exemple et très professionnel). Bien sûr les sources sont toujours bien au chaud, dans les dépots Mercurial.

Enna

Nicolas a fait diverses modifications sur Enna en plus du VFS. Néanmoins je n’ai pas encore pu compiler ces dernières modifs :-P. Faute de temps principalement, car je dois mettre à jour les EFL.

A bientôt,
Mathieu SCHROETER