Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2958 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  ID3Tag V2

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ID3Tag V2

n°224337
Kyle_Katar​n
Posté le 07-10-2002 à 01:13:14  profilanswer
 

Quequ'un arrive à déterminer la taille du tag à partir des 4 derniers bits du header ?

mood
Publicité
Posté le 07-10-2002 à 01:13:14  profilanswer
 

n°224816
karlkox
Posté le 08-10-2002 à 01:46:07  profilanswer
 

uh ?? bein a partir d'un membre size ... exemple :
 

Code :
  1. ' exemple pour les tags 2.3x (10 bytes)
  2. Private Type ID3_V2
  3.     Identifeur As String * 3
  4.     Major      As Byte
  5.     Minor      As Byte
  6.     Flags      As Byte
  7.     Size(3)    As Byte  ' <--- c lui :)
  8. End Type


 
dans ton code :
 

Code :
  1. ' conversion byte vers long (a quand les shifts en VB !!! grrr)
  2. Public Function ByteToLong(ByRef byteArray() As Byte) As Long
  3. Dim index As Integer
  4. On Error GoTo ErrHandler
  5.     ByteToLong = 0
  6.     For index = 0 To 3
  7.         ByteToLong = ByteToLong + (byteArray(index ) * (2 ^ ((3 - index ) * 7)))
  8.     Next index
  9. NormalExit:
  10. On Error GoTo 0
  11. Exit Function
  12. ErrHandler:
  13. Err.Raise Err.Number, "ByteToLong erreur", Err.Description
  14. End Function
  15. Dim tagHeader As ID3_V2
  16. dim iFilenum  as integer
  17. dim a_sfile   as string
  18. dim  tagSize  as long
  19.  
  20.    a_sfile = "c:\foo.mp3"
  21.    iFilenum = FreeFile
  22.    Open a_sfile For Binary As iFilenum
  23.    Get iFilenum, 1, tagHeader
  24.    tagSize = ByteToLong(tagHeader.Size)


 
En gros ...

n°224822
zion
Plop
Posté le 08-10-2002 à 02:04:21  profilanswer
 

Kyle_Katarn a écrit a écrit :

Quequ'un arrive à déterminer la taille du tag à partir des 4 derniers bits du header ?




 
4 bits  :heink:  
 
A propos kyle, essaie Delphi, y a déjà des compos pour ca dans la JVCL  [:ddr555]  
 
(D'ailleurs tu pourrais l'exporter en activex et le récupérer en VB, mais bon)


---------------
Informaticien.be - Lancez des défis à vos amis
n°224827
MagicBuzz
Posté le 08-10-2002 à 02:20:36  profilanswer
 

Ouais m'enfin pkoi pas sortir la tronçonneuse pour ceuillir des fleurs ;)

n°224830
zion
Plop
Posté le 08-10-2002 à 02:23:56  profilanswer
 

MagicBuzz a écrit a écrit :

Ouais m'enfin pkoi pas sortir la tronçonneuse pour ceuillir des fleurs ;)




 
1. Ma tronconneuse est en panne
2. J'aime pas les fleurs
3. VBCAPUDUCU (tm)
4. Me semblait qu'il avait déjà dit plusieurs fois qu'il allait se convertir à la bonne parole, c'est le moment  :D  
5. C'est pas plus bourrin d'utiliser un composant ActiveX créé en Pascal qu'un autre, c'est le principe hein  :p  
D'ailleurs y a énormément de composants pascal qui sont utilisés par des développeurs VB :/


---------------
Informaticien.be - Lancez des défis à vos amis
n°224831
MagicBuzz
Posté le 08-10-2002 à 02:24:43  profilanswer
 

je dis pas le contraire, mais pour lire 3 octets dans un fichier, ça faut un peu bourrin je trouve ;)

n°224833
zion
Plop
Posté le 08-10-2002 à 02:27:10  profilanswer
 


Clairement  :ange:  
 
Mais bon, le compo de la JVCL (tiens mais euh... c'est mon compo), t'as tous les champs, de plus j'en avais fait un autre visuel avec toutes les infos, donc 2 clics et tu avais tout sur un form, juste à compiler.


---------------
Informaticien.be - Lancez des défis à vos amis
n°224835
MagicBuzz
Posté le 08-10-2002 à 02:34:23  profilanswer
 

ok, je retiens la chose :)
 
d'ailleurs, j'ai lu dans MSDN Library (mais non, te sauve pas, reviens :D) qu'on pouvait crééer des modules pour Index Server.
 
mais j'ai pas vraiment trouvé la doc pour en créer un...
 
t'as pas un piti composant dans ta JVCL qui fait ça ? :D
 
ou un lien qui me permette de trouver comment faire ?
 
en effet, Index Server, ça a beau être du M$, c'est super puissant, et indexer des MP3 avec ça serait trop puissant...
 
notamment, pendant un moment (là, j'ai arrêté net les devs, mais je pourrais m'y remettre) j'avais entrepris de faire un site et un soft permettant d'interroger une liste de MP3 d'un serveur, et le passage par Index Server m'aurais simplifié la vie énormément...Et surtout ça aurait été incomparablement plus rapide, que ce soit pour les rechercher ou pour l'indexation...
 
quand on voit que ce dernier est capable d'indexer quelques 10 go de fichier texte en à peine plus d'une vingtaine de seconde, et que les requêtes, aussi complexes soient-elles sont ensuite totalement instantannées, ça pourrait être une bonne solution...
surtout pour l'aspect indexaion en temps réel des modifications apportées aux fichiers...

n°224836
zion
Plop
Posté le 08-10-2002 à 02:38:26  profilanswer
 

MagicBuzz a écrit a écrit :

 
quand on voit que ce dernier est capable d'indexer quelques 10 go de fichier texte en à peine plus d'une vingtaine de seconde




 
donc 10240mb en 20s, donc 512mb/s
mais oui bien sur  [:banzai]  
 
sinon non je connais pas ce truc  :sweat:


---------------
Informaticien.be - Lancez des défis à vos amis
n°224844
karlkox
Posté le 08-10-2002 à 08:13:04  profilanswer
 

Honnetement, je suis pas un ferru des composants (ocx, com ou autre vcl) des lors que l'on peut le faire soit même le code recherché. Par contre, il est plutot interessant de récupérer les sources de ces composants pour y glaner des informations (comme celle que je viens de donner par exemple). Je vois ca comme ca :)
 
zion>a choisir entre un (j)vcl en delphi et une dll pure en C/C++, y a pas photo :]

mood
Publicité
Posté le 08-10-2002 à 08:13:04  profilanswer
 

n°224853
Kyle_Katar​n
Posté le 08-10-2002 à 08:47:25  profilanswer
 

ça vai, j'ai réussi à le faire par le code entre temps !  
 
Merci

n°225094
zion
Plop
Posté le 08-10-2002 à 14:22:40  profilanswer
 

KarLKoX a écrit a écrit :

 
zion>a choisir entre un (j)vcl en delphi et une dll pure en C/C++, y a pas photo :]




 
tu compares n'importe quoi toi  :ouch:  
 
la JVCL c'est un ensemble de composants, rien à voir avec la VCL, et  tu sous entends quoi par ton DLL pur C/C++, il fait du code plus pur le C++?  :lol:  
 
Tu sors  :kaola:


---------------
Informaticien.be - Lancez des défis à vos amis
n°225098
antp
Champion des excuses bidons
Posté le 08-10-2002 à 14:25:58  profilanswer
 

le DLL faut le faire en Fortran, vu que c'est un vieux langage il est plus mûr et plus stable :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°225210
Harkonnen
Un modo pour les bannir tous
Posté le 08-10-2002 à 18:05:12  profilanswer
 

Si ça t'intéresse, je t'envoie les sources d'un prog que j'ai fait en C++ pour exporter les ID3 v2 en CSV  ;)

n°225214
Kyle_Katar​n
Posté le 08-10-2002 à 18:12:16  profilanswer
 

merci mais c'est bon j'ai presque fini de résoudre mon problème ;-)
 
Pour ceux que ça interesse, c'est pour K-MP3, mon taggeur / renommeur de fichiers son (tout formats)
 

n°225244
MagicBuzz
Posté le 08-10-2002 à 19:26:40  profilanswer
 

zion a écrit a écrit :

 
 
donc 10240mb en 20s, donc 512mb/s
mais oui bien sur  [:banzai]  
 
sinon non je connais pas ce truc  :sweat:  




Bah réellement, chuis d'accord avec toi, techniquement, la vitesse est impossible.
Mais le résultat est là.
 
La meilleur preuve est d'activer le catalogue système (celui qui va indexer TOUS les fichiers de TOUS les disques) quisert notamment à accélérer les rechercher quand on fait F3 dans Windows.
 
Ben y fini l'indexation en quelques minutes, même si t'as des HD complètement blindés de fichiers.
 
Sinon, pour résumer Index Server, c'est un service de Windows (intégré à Windows depuis NT 4) et très fortement amélioré dans Windows 2000, qui va indexer les fichiers dans des catalogues.
Il indexe par mots-clés, reconnais les headers de n'importe quel type de fichier Office, PDF, HTML et XML de base, et permet ensuite d'y faire des recherches sur le contenu, l'auteur, etc.
La rapidité est extraordinaire, et les catalogues très petits (moins de 10 Mo pour quelques Go de fichiers texte)
 
Il supporte soit son langage natif d'interrogation, assez chiant, soit un environnement d'abstraction, le faisant se comporter comme une base de données SQL. Tu fait des requêtes sur des fonctions qui te retournent des résultats sous forme de vue, que tu peux ensuite filtrer avec tout les filtres classiques SQL.
 
Un truc extrêment agréable c'est qu'il supporte l'analyse sémantique, avec reconnaissance de la langue :
 
Par exemple, la fonction "ISABOUT()" recherche un document qui "parle de". Tu n'as qu'à indiquer ensuite une phrase et zou !
Il recherche aussi les mots de la même famille, avec orthographe similaire ou même les synonymes. Et surtout, à côté d'un LIKE en SQL, y'a pas photo, c'est extrêment rapide.
 
Sinon, SQL Server, depuis la version 7.0 supporte de se faire indexer par ce système. C'est ce que j'utilise sur mon site pour faire des recherches dans les articles : très rapide, et résultats pertinents. Oracle vends aussi un module permettant de faire la même chose, mais c'est pas intégré de base, c'est bien domage.
 
Pour un exemple de ce que ça donne :
 
http://www.manga-torii.com
=> Tapes un truc dans "rechercher". Utilisation d'Index Server dans un base SQL Server
 
http://optic200001.heb.fr.colt.net (je crois que c'est ça l'url :D)
=> Sur la HP, tapes un truc. Utilisation d'index server pour indexer les fichiers du site.
 
Pour info, les deux moteurs de recherche (pas très évoluées, je te l'accorde, mais permettant déjà des fonction avancées), je les ai développé en une journée pour mon site, et en 2h pour Optic 2000 :)
C'est surtout ça l'avantage : c'est rapide et simple :D


Message édité par MagicBuzz le 08-10-2002 à 19:27:35
n°225386
karlkox
Posté le 09-10-2002 à 00:23:52  profilanswer
 

Quand je dit pur, je parle pas des actives x ou autre objet COM(+).
Pour le reste, c'est chacun son truc.

n°225393
zion
Plop
Posté le 09-10-2002 à 00:39:29  profilanswer
 

KarLKoX a écrit a écrit :

Quand je dit pur, je parle pas des actives x ou autre objet COM(+).
Pour le reste, c'est chacun son truc.




 
 :heink:


---------------
Informaticien.be - Lancez des défis à vos amis
n°225396
Kyle_Katar​n
Posté le 09-10-2002 à 00:42:52  profilanswer
 

on s'éloigne de mon sujet d'origine là ...

n°225397
zion
Plop
Posté le 09-10-2002 à 00:52:28  profilanswer
 

Oui et?
 
T'as dit toi même que tu l'avais résolu  :ange:


---------------
Informaticien.be - Lancez des défis à vos amis
n°225454
karlkox
Posté le 09-10-2002 à 10:41:31  profilanswer
 

Kyle>c'est pour ca que j'ai fait cours ;)
Si tu as besoin d'info pour ton player, hésite pas, j'en ai bien chié pour en faire un plus ou moins complet ( screenshots : http://starnetasso.free.fr/Upload/FmodPlayer.zip )

n°230914
Kyle_Katar​n
Posté le 19-10-2002 à 20:49:58  profilanswer
 

Merci. Maintenant K-MP3 (http://www.katarncorp.com/french) gère parfaitement les ID3TagsV2)

n°231864
karlkox
Posté le 21-10-2002 à 15:29:59  profilanswer
 

Tranquille, t'applique rapidement les documents que tu lis, chapo :)

n°232003
Kyle_Katar​n
Posté le 21-10-2002 à 19:46:06  profilanswer
 

merci.
Sans votre aide précieuse ça n'aurait pas pu être possible

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  ID3Tag V2

 

Sujets relatifs
Plus de sujets relatifs à : ID3Tag V2


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)