Syndication : Atom 1.0  RSS 2.0
Blogs des développeurs   »   Blog du projet ZiK

14/12/2011

Permalink 17:32:19, Catégories: ZiK, Nouvelle version, 28 mots   French (FR) , vinc-mai

Sortie de ZiK 0.17.1

Un court billet pour annoncer la sortie de ZiK en version 0.17.1.
Cette version apporte uniquement des corrections de bugs.

Non, le développement de ZiK n'est pas stoppé.

Vous devez être identifié pour poster un commentaire.

19/04/2011

Permalink 17:13:43, Catégories: Récapitulatif, ZiK, Nouvelle version, 139 mots   French (FR) , vinc-mai

Le lecteur audio ZiK est sorti en version 0.17.

Les nouveautés sont :
nouveaux icônes créés par J. Kaiden,
fermeture du bug 28638 qui bloquer l'interface graphique,
application du choix de session (multi/unique) sans redémarrage de ZiK,
clôture d'un bug qui empêcher de recharger le navigateur de la session précédente,
lors de l'édition de la liste de lecture le dialogue d'information n'est affichée plus qu'une fois,
lors de l'affichage de la fenêtre ZiK utilise la position précédente,
ajout d'ascenseurs dans l'assistant.

Et pour les modules :
cacher ZiK lors d'un clic sur la croix de la fenêtre (TrayICon),
afficher/cacher ZiK (HotKeys),
clôture d'un bug qui empêcher les sessions multiple (HotKeys),
clôture d'un bug qui prévenait de rapatrier les informations depuis le web (Brainz).

Vous devez être identifié pour poster un commentaire.

12/03/2011

Permalink 20:01:42, Catégories: Récapitulatif, Nouvelle version, 19 mots   French (FR) , vinc-mai

Sortie de ZiK 0.16.2

Je viens de sortir la version 0.16.2 qui corrige 2 bogues afin d'éviter que ZiK ne plante au démarrage.

Vous devez être identifié pour poster un commentaire.

11/03/2011

Permalink 07:46:41, Catégories: Récapitulatif, Nouvelle version, 40 mots   French (FR) , vinc-mai

Sortie de ZiK 0.16

Les nouveautés sont :
un gem.
l'installation des greffons de GStreamer au besoin (nécessite la future version 0.90.9 de ruby-gnome2),
l'export des fichiers audio de la liste de lecture dans un répertoire.

Cette nouvelle version corrige aussi des bogues.

Vous devez être identifié pour poster un commentaire.

11/12/2010

Permalink 04:17:16, Catégories: git, 155 mots   French (FR) , vinc-mai

Future 0.16

Quelques nouvelles de la version en développement.

En réponse à la demande #28702, il est maintenant possible d'exporter l'ensemble des chansons composant la liste de lecture grâce au menu Liste de lecture/Export songs (à traduire). La liste est écrite, au format local, dans le fichier que vous avez spécifié dans le dialogue. Afin de respecter votre classement par dossier, une option du dialogue permet de recréer l'arborescence utilisée pour les fichier d'origine.

L'ébauche d'un nouveau module fait son apparition dans le dépôt git. Il permettra d'ajouter des entrées dans certains menus afin d'appeler un programme externe. Pour l'instant, seul le menu principal (en haut de la fenêtre ZiK) est concerné. Je pense ajouter la gestion des menus contextuels au niveau de la liste de lecture et du navigateur et la capacité à appeler un programme lors de la lecture d'une nouvelle chanson.

Lien : discussion sur le forum.

Vous devez être identifié pour poster un commentaire.

08/11/2010

Permalink 18:33:42, Catégories: Récapitulatif, Nouvelle version, 19 mots   French (FR) , vinc-mai

Sortie de ZiK 0.15.3

Cette nouvelle version corrige quelques bugs dont un qui empêche ZiK de fonctionner après une nouvelle installation.

Vous devez être identifié pour poster un commentaire.

11/10/2010

Permalink 16:18:08, Catégories: Récapitulatif, Nouvelle version, debian-fr, 48 mots   French (FR) , vinc-mai

ZiK 0.15.2

Cette version corrige des bogues dans l'assistant and dans le module brainz qui peuvent provoquer la fermeture de ZiK.
L'entrée « éditer » a disparu du menu « liste de lecture » car il provoque un bogue. La liste peut toujours être éditée via le boutton ou le menu contextuel.

Vous devez être identifié pour poster un commentaire.

09/10/2010

Permalink 18:03:17, Catégories: Récapitulatif, Nouvelle version, debian-fr, 106 mots   French (FR) , vinc-mai

Sortie de ZiK 0.15

La version 0.15 de ZiK est sortie.

Un assistant explique le fonctionnement de ZiK lors d'une nouvelle installation. Il permet aussi une configuration rapide du logiciel. Il est disponible via le menu aide.
L'édition de la liste de lecture et la recherche de pistes audio sont maintenant intégrées à la fenêtre principale.
La vue compact permet d'afficher un plus grand nombre de pistes audio dans la liste de lecture.
ZiK supporte maintenant ruby-taglib2 et les nouvelles versions de rghk (0.2) et de gtk (2.22).
La traduction française a été mise à jour.
Pour plus d'informations, voyer le fichier ChangeLog.

Téléchargez ZiK sur developpez.com.

Vous devez être identifié pour poster un commentaire.

07/10/2010

Permalink 17:26:01, Catégories: Récapitulatif, Ruby, debian-fr, 632 mots   French (FR) , vinc-mai

Adapter une bibliothèque C pour ruby (5)

Diverses fonctions

Je vais présenter ici quelques fonctions utiles. Pour des questions de faciliter, j'ai créé deux nouvelles méthodes pour le module TagLib bien qu'elles n'aient rien avoir avec taglib.

Utiliser un bloc

 
rb_define_singleton_method(mTagLib, "block", block, 0); 

La méthode TagLib.block ne prend aucun paramètre, mais un bloc doit lui être fourni. Elle exécute ce bloc en lui passant comme argument l'objet TagLib et retourne le bloc sous la forme d'un Proc.
 
$ make 
$ irb 
> require './lib/taglib2.rb' 
=> true 
TagLib.block{|a| p a} 
TagLib 
=> #<Proc:0xb75ba510@(irb):2> 

Voici la fonction implémentant ce comportement.
 
VALUE 
block(VALUE self) 

  rb_yield(self); 
  return rb_block_proc(); 


rb_yield permet d'appeler le bloc passé à la méthode alors que rb_block_proc permet de le manipuler sous la forme d'un Proc.

Utiliser des paramètres optionnels

Je propose d'écrire l'équivalent de code écrit en ruby.
 
def TagLib.n(tab=["Salut", "Re"]) 
  tab.to_a 
  tab.each{|s| $stdout.puts s} 
  tab[0] 
end 

 
rb_define_singleton_method(mTagLib, "n", n, -1); 

Le dernier argument lors de la déclaration de la méthode TagLib.n vaut -1 ce qui indique que la méthode ne possède pas un nombre d'arguments fixees. La fonction rb_scan_args permet de récupérer de manière propre les paramètres passés à la méthode. Le troisième argument de cette fonction est une chaîne de caractère représentant deux chiffres. Le premier indique le nombre de paramètres obligatoires, le second indique le nombre de paramètres optionnels.
 
VALUE 
n1(VALUE str) 

  return rb_funcall(rb_stdout, rb_intern("puts"), 1, str); 

 
VALUE 
n(int argc, VALUE* argv, VALUE self) 

  VALUE tab; 
 
  rb_scan_args(argc, argv, "01", &tab); 
  if (NIL_P(tab)) 
  tab=rb_ary_new3(2, rb_str_new2("Salut"), rb_str_new2("Re")); 
  rb_funcall(tab, rb_intern("to_a"), 0); 
 
  rb_iterate(rb_each, tab, n1, Qnil); 
  return RARRAY(tab)->ptr[0]; 


TagLib.n peut donc être appelée avec un paramètre ou sans. Si aucun argument n'a été passé (tab=nil), tab est initialisé en créant un tableau contenant deux objets String. On vérifie ensuite que tab appartient à la classe Array ou s'en rapproche (duck typing). rb_funcall permet d'appeler une méthode (deuxième argument) d'un objet (premier argument) avec un certain nombre (troisième argument) de paramètres (arguments suivant). rb_intern permet d'obtenir la méthode à partir d'une chaîne de caractères.
La fonction n1 est ensuite appelé pour chacun des éléments du tableau grâce à rb_iterate. LA méthode retourne, finalement, le premier élément de tab, la macro RARRAY permettant d'accéder à la structure interne d'un objet de la classe Array, le champ ptr permettant d'accéder aux éléments.
 
> TagLib.n 
Salut 
Re 
=> "Salut" 
> TagLib.n(["Bonjour"]) 
Bonjour 
=> "Bonjour" 

Liens utiles

Quelques liens qui m'ont aidé à écrire des extensions pour ruby en C :
le fichier README.EXt fourni avec ruby,
ruby-doc.
En ce qui concerne taglib :
l'exemple dans les sources de taglib,
le fichier bindings/c/tag_c.h.

Sources

Le code, présenté dans ces billets, implémentant le module, TagLib est téléchargeable ici.

Conclusion

Cette série d'articles est finie. J'espère qu'ils vous seront utiles.

Vous devez être identifié pour poster un commentaire.

06/10/2010

Permalink 00:43:54, Catégories: Récapitulatif, Ruby, debian-fr, 305 mots   French (FR) , vinc-mai

Adapter une bibliothèque C pour ruby (4)

Ce quatrième billet présente comment obtenir une documentation grâce à rdoc : il suffit de commenter les fichiers sources.

Documentation

Commenter

Pour documenter les méthodes de la classe TagLib::File, il suffit de commenter les différentes fonctions les implémentant.

La méthode title permet d'obtenir le titre d'une piste. On l'indique en commentaire juste avant la fonction file_get_title.
 
/*Get track title*/ 
VALUE 
file_get_title(VALUE self) 

Par défaut, les paramètres d'une méthode sont nommés p1, p2, .... Pour la méthode title=, on utilise l'instruction call-seq: pour afficher le texte title=title (au lieu de title=(p1)).
 
/* 
call-seq: title=title 
 
Set track title to title 
 
title: a string 
*/ 
VALUE 
file_set_title(VALUE self, VALUE title) 

La méthode initialize ne devrait jamais être appelée directement depuis un code ruby. On utilise l'instruction :nodoc: pour indiquer que la méthode ne doit pas apparaitre dans la documentation.
 
/*:nodoc:*/ 
VALUE 
file_init(VALUE self, VALUE path) 

J'indique que je ne désire pas commenter le module TagLib en plaçant un commentaire vide afin d'éviter que rdoc utilise un commentaire non-désiré.
 
/* */ 
  mTagLib=rb_define_module("TagLib"); 

Dans le fichier lib/raglib2.rb, j'ajoute la directive :main: afin que la page initiale de la documentation pointe sur la classe TagLib::File.
 
#:main: TagLib::File 
module TagLib 

Bizarrement, cette directive ne semble pas fonctionner si elle est placée dans le fichier taglib2.c.

Produire la documentation

 
rdoc --exclude extconf.rb 

Le fichier doc/index.html est créé.
aperçu de la documentation

Conclusion

Rendez-vous pour le dernier billet où j'introduirai quelques concepts que je n'ai pas utilisé dans le module TagLib.

Vous devez être identifié pour poster un commentaire.

04/10/2010

Permalink 16:47:34, Catégories: Ruby, debian-fr, 1372 mots   French (FR) , vinc-mai

Adapter une bibliothèque C pour ruby (3)

Cet article fait suite au premier et deuxième billets dans lesquels nous avons vu comment créer un objet de la classe TagLib::File. Cet objet utilise les fonctions de la bibliothèque taglib, écrite en C, afin d'accéder aux tags de fichiers audio. Dans ce billet, nous verrons comment obtenir les valeurs des tags et comment modifier un tag.

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

03/10/2010

Permalink 15:37:27, Catégories: Récapitulatif, Ruby, debian-fr, 1330 mots   French (FR) , vinc-mai

Adapter une bibliothèque C pour ruby (2)

Cet article fait suite au premier. Il s'intéresse à la classe principale qui permettra de manipuler les tags de fichiers audio.

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

« Page Précédente 1 2 3 Page suivante »

Liste des blogs

Blog du projet ZiK

Catégories


Rechercher

<  Décembre 2011  >
Lun Mar Mer Jeu Ven Sam Dim
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Syndiquez ce blog XML

Articles :

Commentaires :

 
 
 
 
Partenaires

Hébergement Web