dimanche 19 décembre 2010

Ignorer les diacritiques (accent, trema...) en Gtk

Dans la prochaine version qui va arriver incessamment sous peu, j'ai pas mal travaillé à améliorer la fonction de recherche des chaînes.

Tout d’abord si vous recherchez une chaîne et qu'un groupe ne comporte aucun résultat, il ne sera plus visible dans la liste des résultats. On y gagne en clarté.

Ensuite, on m'a demandé de ne plus prendre en compte les diacritiques (diacritics en anglais) lors de la recherche d'une chaîne TV. Les diacritiques sont les petits symboles qui accompagne les lettres tel que les accents, trémas, points...

Du coup, par défaut si on cherche Ouï FM et que l'on tapait dans la recherche Oui, on ne trouvait pas la chaîne car Ouï et Oui, c'est différent.

J'ai donc fait le nécessaire qui consiste à juste convertir les 2 chaînes de caractères (celle cherché et celle du nom de la chaîne) et en chaînes de caractères sans diacritique.

Pour ceux que ça intéresse voici une fonction qui fait ça simplement :
gchar*
g_utf8_removediacritics(const gchar *str, gssize len)
{
gchar *szNormalizedString;
GString* szStringBuilder;
gchar *szRes = NULL;
gunichar c;
gchar *szPtr = NULL;

if(str != NULL){
szNormalizedString = g_utf8_normalize (str, len, G_NORMALIZE_NFD);

szStringBuilder = g_string_new ("");

szPtr = szNormalizedString;
while(szPtr){
c = g_utf8_get_char(szPtr);
if(c != '\0'){
if (!g_unichar_ismark(c)){
g_string_append_unichar (szStringBuilder, c);
}
szPtr = g_utf8_next_char (szPtr);
}else{
szPtr = NULL;
}
}

szRes = g_string_free (szStringBuilder, FALSE);
g_free(szNormalizedString);
}

return szRes;
}
En gros, on normalise la chaîne UTF-8 selon la norme NFD (c'est à dire qu'on va convertir la chaîne originale, en séparant les caractères de leur diacritiques (genre "à" va être remplacer par "a`" selon le codage UTF-8). Ensuite, on prend la chaîne et on la recopie en supprimant tout les caractères du type diacritique "ismark".

Voilà pour la petite anecdote.

lundi 22 novembre 2010

Ajout de la traduction chinoise

Une nouvelle langue est disponible dans FreetuxTV, il s'agit du chinois simplifié. Ceci vient compléter le français, l'anglais, l'allemand et le portugais déjà disponible.

mardi 16 novembre 2010

Devenez fan de FreetuxTV sur Facebook

Hello,

j'ai eu envie de créer une page sur Facebook pour faire encore un peu plus de pub pour FreetuxTV. (ça fait potentiellement 500 millions de clients :p).

Hésitez pas à devenir fan de la page, pour vous aider, j'ai ajouté un lien vers la page Facebook sur la droite du blog.

PS : la version 0.5.2 est bientôt prête, elle sortira avant la fin de l'année.

mercredi 20 octobre 2010

Lancement du WebTV Manager

Grâce au gros travail de Yannick qui a scruté le net à la recherche de WebTV, FreetuxTV dispose désormais d'une grosse base de donnée de WebTV dans de nombreuses langues.

Cependant, il est très difficile de maintenir cette base de donnée à jour entre les liens qui meurent et l'ajout de nouveaux qu'il faut ensuite que l'ont teste afin d'avoir un maximum de lien valide dans FreetuxTV. De plus, il est difficile de trouver des WebTV étrangère à ajouter à FreetuxTV.

Du coup, j'ai eu l'idée de faire une application Web qui permettrai à n'importe quel utilisateur de proposer un nouveau lien. Après de notre coté, on a plus qu'a faire une modération en le testant et en l'approuvant.

La liste des liens est consultable depuis le site via un formulaire de recherche.

Avec cette base de donnée en ligne, on peut ainsi directement générer les playlist pour chaque langue qui seront directement intégré dans FreetuxTV et mis à jour plus régulièrement (car dynamiquement).

Pour le moment, les fonctions sont limité à ça, mais l'application devrait pouvoir évoluer pour permettre aux utilisateurs notamment de nous signaler des liens mort.

Bon pour le moment, ça reste de la version BETA, mais vous pouvez l'essayer ici http://freetuxtv.eric-beuque.com/webtv-manager/ et nous remonter vos commentaires.


Notez que si ça vous intéresse, je cherche du monde pour m'aider à faire évoluer cette application basé sur PHP/MySQL avec le framework Yii (que j'ai voulu testé).

jeudi 14 octobre 2010

Commit : Tray icon

Un petit truc bien pratique qui manquait, c'est l'icône FreetuxTV pour la barre d'état, afin de pouvoir écouter la radio sans avoir la fenêtre qui traîne sur le bureau.

J'ai regardé, c'était moins compliqué a faire que ce que je pensais, du coup je l'ai fait vite fait et en cliquant dessus, on peut masquer/afficher la fenềtre de FreetuxTV.

dimanche 3 octobre 2010

Commit : Gestion de raccourcis clavier

Suite à une demande d'un utilisateur, j'ai ajouté des raccourci clavier il a y un petit moment pour gérer le plein écran, le controle du direct et le volume.

Pour le moment, ces touches ne sont pas configurable. Le détail est disponible ici : http://code.google.com/p/freetuxtv/wiki/Manual

mardi 24 août 2010

Logo officiel de FreetuxTV

Vous l'aurez peut être remarqué si vous avez naviguer sur le site du projet mais un gentil graphiste s'est proposé de me créé un logo pour FreetuxTV.

J'ai donc l'honneur de vous le présenter officiellement, le voici en grand :


J'espère qu'il vous plaira !

Il m'a aussi fourni un splashcreen plus design pour remplacer l'ancien :

Voilà, je suis très content et je passe donc un grand merci à Sébastien Morge qui a fait un super boulot !

D'ailleurs, il est professionnel et si vous avez besoin d'une prestation pour votre entreprise ou autre, je ne peux que vous le recommander : http://smorge.com/creation-de-logo/

Le projet devient vraiment sérieux, ça fait plaisir !