Geekast : jabber
Je viens d’intégrer une première ébauche du protocole Jabber.

Vous pouvez rejoindre plusieurs channel en simultané, cela ouvrira un nouvel onglet.

Par contre cela nécessite la version 0.3 de la bibliothèque XMPP4R, le gem est inclu dans les sources du trunk.
Back
Et voilà le petit bug (à 2 balles) a été résolu, me voilà donc de retour sur ce nouveau domaine.
Dans la migration quelques 5000 spams environ ont été supprimés … Je me disais bien que je ne pouvais pas avoir autant d’admirateurs ;)
Typo4 intègre un meilleur filtrage des spams, notamment via le service akismet, à tester…
Il intrègre également un système de notification via jabber, j’ai hâte de tester ça :)
A propos de Jabber j’envisage de l’intégrer dans Geekast. Non ce n’est pas une priorité, mais comme tous développeur de logiciel libre on code pour le fun, so …
L’idée, poussée par le G, merci à lui, est de proposer un salon de discussion par channel Peercast. En effet Peercast utilise depuis peu le service de chat web Threz pour les discussions associées à un channel. Libre au développeur de Peercast de proposer cela mais j’avoue que cela ne me plait guère : Ce chat est uniquement web et dépend d’un tiers.
Certes la mode est en ce moment aux chats AJAXé, comme Gabbly, mais le Linuxien est comme souvent hermétique aux solutions non standards. D’autant plus que rien n’interdit d’intégrer Jabber au sein d’une solution web, voir jwchat.
Bref l’accès au chat web sera toujours présent grâce à l’utilisation du moteur gecko embarqué, mais une option de chat natif sera beaucoup plus agréable pour l’utilisateur.
La disponibilité de cette nouvelle feature dependra de mon temps d’adaptation à l’excellente bibliothèque Jabber en Ruby de Lucas : xmpp4r. Mais comme toujours, ne soyez pas pressé … :)
Geekast Ubuntu Dapper
Un gentil contributeur (le G :) vient d’améliorer le paquet deb de Romain pour Geekast.
Il suffit d’ajouter ce dépôt :deb http://ubuntu.myreseau.org dapper main
et de faire un apt-get install geekast
Enjoy !
Geekast 0.1.2
0.1.2:
fixed external player name storage
fixed sensitive refresh button
added bookmark list on the tray icon
Quelques corrections de bugs et enfin l’ajout du bookmark dans la trayicon. Il reste quelques petits bugs, par exemple l’affichage des effets visuels dans une fenêtre autonome si Geekast est caché. Celle-ci se rattache dès qu’on réaffiche Geekast.
Je trouve cette version relativement stable pour une fois. Le lecteur interne ne marche pas si mal. Je regrette toutefois que le binding Gstreamer n’a pas été synchronisé sur la version 0.10. Il manque clairement des contributeurs dans RG2, j’y songe :)
A venir un jour :- surligner le flux en cours de lecture. Ceci est délicat si un flux relayé est en “keep”. En effet son status est en “RECEIVE” dans le xml, au même titre qu’un flux en cours d’écoute.
- afficher le “Total Relays” et “Local Relays” pour chaque flux relayé.
- synchroniser les ID des flux dans le bookmark sur les Yellow Pages. En effet ceux-ci peuvent changer …
- activer le filtre Bitrate.
- proposer le plein écran sur la vidéo.
- intégrer ruby-dbus de manière à ne lancer qu’une seule session de Geekast.
- activer la popup de notification lors sur passage de la souris sur la trayicon.
- finir la traduction de l’interface via gettext.
Concernant l’organisation du code. Même si celle-ci a nettement évoluée par rapport aux premières versions, elle ne me convient toujours pas.
Les signaux dispersés un peu partout, qui permettent la communication entre les 3 modules MVC, rendent le code confus. Il m’apparaît évident qu’il serait souhaitable d’avoir un framework MVC qui encapsulerait ces signaux. Beaucoup de travail en perspective et une bonne maitrise de l’implémentation du design pattern MVC sont nécessaire. Mais à mon avis un tel framework aiderait beaucoup à l’adoption de RG2. Un Rails pour RG2 ? Chiche :)
Woa
Geekast est sur le site de Gstreamer dans la liste des applications l’utilisant : http://gstreamer.freedesktop.org/apps/
Je suis tout intimidé du coup :P
Geekast 0.1.1
J’ai sorti la version 0.1.1 ce week-end. Les paquets Debian sont également à jour, merci à Romain pour son aide. De même si Geekast se retrouve dans Debian ça sera grâce à lui :)
Cette version implémente Gecko en 2 lignes de code Ruby :)Grâce à Maître Dodji j’ai pu localiser les bugs sur les plantages lors des refresh pendant la lecture avec le playeur interne. Je jouais trop avec les Threads /o\.
J’ai remplacé ceux-ci par un Gtk::timeout_add pour la fenêtre popup du channel info. Et par une boucle :
while (Gtk.events_pending?) Gtk.main_iteration end
pour le rafraichissement des Treeview et de la barre de progression. Cela permet au treeview de se rafraichir à chaque ajout d’une ligne et visuellement c’est beaucoup plus agréable. Je trouve laid quand un treeview se remplit d’un coup après quelques secondes d’attentes qui semblent interminables.
Le problème c’est que je ne suis pas censé faire ça si je laisse GTK+ gérer la boucle d’event (GTK.main).
Normalement je dois gérer moi même la boucle d’évènement. Donc même si les plantages ont été largement diminué il peut arriver que l’application se freeze sur un refresh pendant la lecture multimédia avec le player interne…
Cette technique, appelée interface asynchrone, est plutôt complexe à mettre en oeuvre, donc je prendrai le temps d’étudier cela pour la version 0.1.2.
Grand merci à Dodji pour son aide, ses conseils sont précieux.
Geekast : release 0.1
J’ai cédé à l’appel du Grand Geek il y a 2 semaines en migrant ma Breezy vers Dapper.
En passant, XGL ça rox, mais bon ça saoule assez vite aussi pour l’instant. Vivement des applets GNOME qui exploitent OpenGL.
Geekast fonctionne pas si mal en dapper. Il profite des améliorations de Gstreamer 0.8.12, la lecture vidéo et audio n’est plus saccadée. Le lecteur interne me parait exploitable dans une certaine mesure. En effet ca plante toujours si vous rafraichissez les pages jaunes pendant une écoute …
Enfin apparement la trayicon plante sur le clic droit dans un environnement PPC. Si des possesseurs de Mac/PPC veulent bien me confirmer la chose je ferai un bug report aux développeurs.
A part ces bricoles je vais sortir la 0.1 dans la semaine, puisque je n’ai pas eu de retour :/
Ensuite je vais intégrer la libgtk-mozembed-ruby qui permettra de consulter, via une page web directement intégrée dans Geekast, les statistiques d’un flux et son chat. Ces possibilités n’étant pas intégrées dans Peercast mais seulement proposées par le site des pages jaunes il n’y a pas d’autre moyen propre (pas question de parser un html). J’aurais bien utilisé la librsvg et cairo, si Giles (le développeur de Peercast) avait intégré les stats dans le flux XML…
A ce propos la version 0.1215 vient de sortir, elle corrige des buffer overflow, pas de nouvelles feature donc :/
Enfin j’envisage de réécrire Geekast en GTKmm (C++), d’une part pour apprendre et d’autre part pour lui ajouter des possibilités qu’il sera difficile d’implémenter en Ruby efficacement. Avoir voir si je ne ferais pas un autre projet parallèle en fait.
Mais ceci est une autre histoire assez lointaine dans l’année.
Geekast, paquet Debian
Romain Beauxis vient de faire le premier paquet Debian pour Geekast : http://perso.ecp.fr/~beauxir5/geekast/
Pour Ubuntu Breezy il manque le programme gconf-schemas, qui existe par contre dans Dapper (paquet gconf2).
Cependant Geekast peut s’installer simplement dans votre répertoire local si vous suivez les indications du fichier INSTALL.
N’hésitez pas à tester et à m’envoyer vos retours.



