Etant donné que j'ai trouvé récemment sur le site de ID3 une library permettant la gestion des tag ID3 entièrement rédigée en C# et que cette library est plus aboutie que la mienne (toutes les frames sont traitées (j'ai pas regardé si l'écrite avait été implémenté mais à priori oui), gestion des frames via des bindinglist et cie) et que surtout, les performances de ma lib sont, en comparaison, désastreuses par rapport à l'autre, ben je vais tout simplement arrêter le développement du projet.
Niveau comparaison, c'est très variable : çà peut aller de la milliseconde d'écart en ma faveur jusqu'à un temps 20 fois supérieur en ma défaveur... Je crois savoir d'où cela vient (créations répétitives et multiples d'accès aux fichiers, mauvaise gestion des frames non standard (normal, c'est quasiment pas fait))... mais quoi qu'il en soit, çà m'a un peu beaucoup démoralisé sur ce coup là...
Mais sur de grosses collections de mp3, ben je perds largement... (12 s avec ma lib pour extraire toutes les infos contre 4 s avec IdSharp sur une quantité d'environ 5 Giga de zic (ptèt plus je me souviens plus bien))...
Donc voila, c'est mort... Niveau code de IdSharp (qui est open source et cie), ben c'est très bien fait, j'ai d'ailleurs pas encore compris comment ca marchait (j'ai pas regardé trop longtemps non plus)... Y'a simplement beaucoup d'interfaces qui ont été implémenté et ... c'est tout ce que je peux en dire pour l'instant...
Je posterais dans la semaine un dernier up de mon projet (quelques fonctions inutiles de deletées, un peu plus de commentaires XML (juste ce qui faut pour intellisense, notamment les exceptions levées pour chaque méthode) et la gestion de nouvelles erreurs (pas beaucoup en plus, mais c'est quand même plus stable)).
Avec cet up, l'application test de IdSharp (légèrement modifiée pour afficher les temps)... et le même type d'interface intégré dans mon propre tester...
Finish...
Si certains voit cependant un avantage à ce que ce projet continue, ben qu'il fasse signe (par le forum) et argumente svp... Sinon, ben tant pis...
__________________________
Sujet résolu ? Pensez à mettre le tag
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.
C'est pas parce que Microsoft a tout le marché que Apple va mourir !
C'est pas parce que OpenOffice.Org Writer existe que je vais stopper Titan !
En plus, tu peux faire quelque chose avec plus de fonctions qui permettent de faciliter l'usage !
De plus, IdSharp est un projet qui a l'air comme le tien, donc vous pouvez vous considérer comme en concurrence et ta lib pourrait avancer rapidement et la doubler en performance !
Imagine un peu que le créateur d'IdSharp tombe par hasard sur la page du projet, et se dise "bon bah il y en a un autre, j'arrete", dans un cas comme ça plus de lib du tout !
En plus, si tu fais des commentaires XML en français et en anglais, et que tu demande des traductions par ci par là (moi je peux te le faire en grec...) et bah tu aura une lib utilisable par tout le monde !
Je pense que tu devrais carrement faire des UserControl prêt à utiliser dans une application qui par exemple gére les fichiers, mais si elle reconnait un fichier musique et bah elle lit les informations grâce à ID3 !
Moi je te dis de ne pas arreter !
__________________________
Prière de ne pas oublier le magnifique tag (résolu) si votre sujet l'est !
Le truc qui me chagrine, c'est qu'il a une avance énorme sur moi ! alors que j'ai l'impression qu'il a commencé bien après... mais il fait surement çà à temps plein... et moi j'ai pas trop le temps...
Mais merci de me remonter le moral à ce sujet ...
Pour l'instant, je prog sur MPWG... après on verra si je reviens sur ce projet ou pas...
__________________________
Sujet résolu ? Pensez à mettre le tag
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.
Je ne parle pas français. Cependant, je connais Babelfish :)
The problem you have with performance is the way you're handling unknown frame ID's. ID3v2 tags out in the wild will have many frame ID's that are not standard, and your lib throws an exception and swallows it when an unknown frame ID is encountered. Exceptions are slow in .NET, this is why you see a large difference on the 5GB library. I would consider using another method, at least for the Read method, maybe checking frame ID's up front so no exceptions are thrown.
Most of all, if you enjoy working on the library, then just do it for the love
Bon ben finalement le projet a repris avec la sortie du Framework 3.5... Pleins de nouveautés à découvrir
__________________________
Sujet résolu ? Pensez à mettre le tag
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.