Programmer un lecteur MP3

Programmer un lecteur MP3 - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 19-06-2007 à 13:38:22    

Alors je suis étudiant en école d'ingé (enfin presque ?) et je suis ... en vacances.
J'ai migré sous linux il y a quelques mois et aujourd'hui j'aimerais apprendre à programmer, et autre chose que des hello world.
Or il y a une chose qui me manque énormément sous linux, et ce malgré les amaroK et autre rhythmbox, c'est foobar2k ... :cry:  
L'apparence entièrement configurable a tendance à me manquer ...
 
En fait, je me demandais s'il été possible de construire une interface à partir d'un fichier XML, et d'une feuille de style, ce qui permettrait très simplement de changer la présentation, mais aussi de créer et gérer des thèmes. :love:  
 
Pour l'instant, mes capacités de programmation sont vraiment très modestes, mais j'aurais aimer y consacrer du temps tant que j'en ai l'occasion. J'ai fait un peu de C durant mes 2 années de prépa, mais on n'est vraiment pas aller très loin. Idem pour le C++, cependant j'ai encore du mal à utiliser utilement et proprement les objets. J'aime aussi pas mal le XHTML/CSS, d'où l'idée de créer un logiciel comme celui-ci.
 
Donc pouvez-vous simplement m'indiquer les outils et autres bibliothèques qu'il me serait utile de connaître, voir même de maîtriser avant de me lancer, sachant que je souhaiterais faire un logiciel libre, multi-plateforme, facilement configurable à partir de fichiers xml. Je pensais ainsi me lancer sur une base Gtk2, j'espère que ce n'est pas "incompatible" avec ce que je tente de faire.
 
PS: J'ai hésité entre poster ça sur OSA et sur Prog, dites moi si vous pensez que ce n'a pas ça place ici, auquel cas j'en recréerais un dans l'autre Cat. :jap:  

Reply

Marsh Posté le 19-06-2007 à 13:38:22   

Reply

Marsh Posté le 19-06-2007 à 19:45:48    

c'est quoi foobar2k ?
 
faire des skins... avec des images... je suppose.
il te faut une bibliotheque qui gere ça bien. GTK2, ça gere les pixmaps mais je sais pas si ça permet de faire ça aussi précisement, en background etc...  
 
faudrait voir ce que les autres logiciels utilisent, ça j'en sais rien.
ça m'interesse ;) drapal :D


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 19-06-2007 à 19:48:42    

Reply

Marsh Posté le 19-06-2007 à 19:51:06    

a priori non


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 19-06-2007 à 19:54:26    

Reply

Marsh Posté le 19-06-2007 à 20:47:31    

ba c'est plus moche que mon xmms2 en console -_-


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
Reply

Marsh Posté le 19-06-2007 à 20:48:18    

dr-freuderick a écrit :

foobar n'est pas libre ?


 
Non malheureusement, et son auteur ne semble pas du tout prêt à ouvrir le code (j'avais lu un de ses messages sur un forum qui expliquait sa position, mais je ne le retrouve plus  :( ), plusieurs projets sont nés pour faire un clone libre de fb2k, mais aucun n'est aussi abouti.

Reply

Marsh Posté le 19-06-2007 à 21:07:07    

zecrazytux a écrit :

ba c'est plus moche que mon xmms2 en console -_-


 
Par défaut, c'est très probable.
Cependant, la force de fb2k, ce n'est pas ce qu'il fait par défaut, mais ce qu'on peut faire avec les plugins, le topic de customization comporte de nombreux exemples, genre ça :
http://img513.imageshack.us/img513/2114/previewv07mz5.th.png
Et il y en a bien d'autre ...
 
Autre chose, le fait qu'on puisse configurer l'affichage des playlists comme on veut. Dans n'importe quel logiciel à la itunes-like, je trouve la gestion des compilations absolument horrible, alors qu'avec fb2k pas de problème, les albums ont leurs playlists, les singles aussi, etc ...
 
Personnellement, ne pas avoir trouvé de foobar-like aussi abouti sous linux reste mon plus grand regrès. Il y a bien "l'émulation" (patapay) avec Wine, que je n'ai peut être pas suffisamment explorée, mais avoir un logiciel natif et libre serait dans tout les cas un certain plus, même s'il faut du temps pour arriver à un résultat viable.
 

Reply

Marsh Posté le 19-06-2007 à 21:12:03    

Wine n'est pas un emulateur :o

Reply

Marsh Posté le 19-06-2007 à 21:13:21    

Devil_Weapon a écrit :

Wine n'est pas un emulateur :o


Je sais, d'où les guillemets ;)

Reply

Marsh Posté le 19-06-2007 à 21:13:21   

Reply

Marsh Posté le 20-06-2007 à 22:35:10    

Juste 2 choses :
 - Excellente idée, j'attends ça depuis quelques temps aussi
 - Je suis pas sûr que GTK soit suffisamment modulable pour faire un fb2k-like....
 
Bon courage :-)

Reply

Marsh Posté le 21-06-2007 à 16:13:08    

La lecture de la plupart des formats de fichiers est possible grâce à des librairies tu n'aura donc pas a refaire ca, et les deux principaux environnements de dev cross-platform sont qt et gtk, ensuite une bonne dose de travail de sueur et de patience va être nécessaire  :jap:

Reply

Marsh Posté le 23-06-2007 à 14:33:22    

Si t'as beaucoup de temps à y consacrer, je te conseille de jeter un oeil aux EFL (Enlightenment Foundation Libraries), pour manipuler les images et faire des interfaces très graphiques avec très peu de code c'est tout à fait ce que tu recherches à mon avis. Pas forcement facile à assimiler par contre.
http://www0.get-e.org/EFL_User_Guide/English/
 
Pour le "backend" (lecture de la musique, gestion des listes, base de données de chansons, etc.) je te suggère de choisir un démon de lecture comme MPD ou xmms2.
http://www.musicpd.org
http://wiki.xmms2.xmms.se/index.php/Main_Page
 
Par exemple tu as emphasis qui est un client pour MPD utilisant les EFL : http://emphasis.tuxfamily.org
 
Allez, hop, au boulot :D


Message édité par e_esprit le 23-06-2007 à 14:34:24

---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 23-06-2007 à 15:12:12    

e_esprit a raison, en fait il existe un tas de toolkits et de générateurs d'interfaces dans différents languages et pour différents languages
 
Il faut d'abord choisir un language, ensuite un binding avec un toolkit pour l'interface.
 
Si tu pars de C#, tu peux utiliser Mono et son toolkit intégré, ou le binding avec GTK (peut être QT)
Si tu pars de C/C++ tu a tous les choix possibles, QT, GTK, wxwindows, EFL...
Si tu pars de python tu a les binders pyGTK, Tkinter (moche), wxpython...
Si tu pars de perl, tu a ...
etc...
 
Sachant que les languages comme python et C# peuvent intégrer des fonctions C/C++, et sachant qu'il faut bien faire attention à la doc si tu débute. Bien regarder les ressources documentaires disponibles sur internet avant de commencer ton projet ou acheter un bon livre. L'abscence de doc force parfois à retourner au code source ce qui n'est pas toujours agréable.
 
e_esprit tu a déjà programmé avec les EFL ?
 
a+

Reply

Marsh Posté le 23-06-2007 à 15:31:58    

J'y ai jeté un bref coup d'oeil il y a un peu plus d'un mois, mais la longueur de la doc (qui avait l'air très bien faite par ailleurs) et le fait que je n'avais rien à coder qui puisse en tirer parti à ce moment là m'ont fait renoncé [:ddr555]
 
Les docs que j'avais trouvé :
http://homepages.pathfinder.gr/kazanaki/contrib/
http://docs.enlightenment.org/book [...] kbook.html


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed