UTILITAIRE MP3 VERSION 3 - EDITEUR DES TAG ID3 V1, V2.*, MPEG - SAUVEGARDE DES T

KaViDee Messages postés 262 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 18 juin 2008 - 7 avril 2003 à 17:18
cs_titicar Messages postés 181 Date d'inscription jeudi 30 mai 2002 Statut Membre Dernière intervention 19 août 2012 - 6 janv. 2009 à 19:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/6667-utilitaire-mp3-version-3-editeur-des-tag-id3-v1-v2-mpeg-sauvegarde-des-tag-id3-v1-v2-gestion-a-grande-echelle-des-tag

cs_titicar Messages postés 181 Date d'inscription jeudi 30 mai 2002 Statut Membre Dernière intervention 19 août 2012
6 janv. 2009 à 19:21
DedeSurf : C'est pas bien compliqué (... en fait si !)une fois que tu as compris le fonctionnement d'une frame. Chaque frame possède son propre header, sa longueur et son DATA (ou le fameux 'tampon') souvent constitué de plusieurs données. Pour la frame image, il y a plusieurs données comme son TextEncoding, son type d'image (JPG ou PNG), un espèce de commentaire et enfin l'image en question... Je dis ça de mémoire.
Pour récupérer l'image, tu peux faire un tour chez Yomm qui a ajouté quelques lignes de code justement pour répondre à ton type de problème. Par contre, je te déconseille d'utiliser dans ce programme la fonction de sauvegarde du Tag car elle n'enregistre pas TOUTES les frames créées par d'autres progs comme WMP ou autres.

Proger : Tiens, hier encore, j'ai référencé dans un forum l'un de tes programmes concernant la lecture vidéo sans ce foutu WMP. Comme quoi, c'est encore d'actualité!
Avant, je ne pouvais pas répondre à ta question... de janvier 2004 ! Maintenant je peux. Mais est-ce encore d'actualité ? Je répond : oui, c'est faisable pour les point 1 à 4. Quant au top du top avec conversion vers tag autre que ID3... Hé ho, moloh ! :-) J'ai peu d'info sur le tag OGG et aucun sur le tag de MS. Mais avec MS, je m'attends au pire. A mon avis, ça va être encore plus compliqué que le tag ID3v2 :-(
cs_malibu23 Messages postés 36 Date d'inscription samedi 14 décembre 2002 Statut Membre Dernière intervention 15 avril 2008
5 janv. 2009 à 23:28
Je suis justement entrain de reprendre ma source pour la passer en C#, avec un peu de patience tu trouvera peu être ta solution dans ma source ;)
DedeSurf Messages postés 156 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 23 novembre 2011
5 janv. 2009 à 20:09
Salut, belle source.
J'ai fais un peu la mm source en csharp, sof que j'ai pas encore attaqué la sauvegarde des tags.
Enfet je bloque sur la pochette du titre.
D'après le site id3.org le tag approrpié a cette image serais 'APIC' mais le resultat est null, je cherche déspérement une solution.
Merci de votre aide
cs_titicar Messages postés 181 Date d'inscription jeudi 30 mai 2002 Statut Membre Dernière intervention 19 août 2012
27 août 2006 à 11:08
En fait, avec le ID3 v2.4, y a un tas de nouvelle 'cases' à prendre en compte y compris une 'case' PRIVAT où tout le monde peut mettre tout est n'importe quoi à l'intérieur. Et là, j'ai déclaré forfait car je n'arrive plus gérer le Tampom.
fadelovesky Messages postés 38 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 27 décembre 2008
30 janv. 2006 à 20:11
Aussi j'ai decouvert autre tag:
pour les ajouter il faut proceder comme je l'avais decrit avant :
-ajouter des string dans le type
Public Type Tag2
....
....
....
AudioURL As String
ArtisteURL As String
BuyURL As String
PlayCounter As String
LinkTo As String
lyrics As String
End Type

-ajouter ces chaines dans la procedure recup_tag
Recup_Tag.Tag2.AudioURL = Tampon
Case "WOAR"
Recup_Tag.Tag2.ArtisteURL = Tampon
Case "WCOM"
Recup_Tag.Tag2.BuyURL = Tampon
Case "PCNT"
Recup_Tag.Tag2.PlayCounter = Tampon
Case "WXXX"
Recup_Tag.Tag2.LinkTo = Tampon
Case "USLT"
Recup_Tag.Tag2.lyrics = Tampon

et le fameux END SELECT
merci a vous tous!
______________________
"EJOY WITH THE SOURCE"
fadelovesky Messages postés 38 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 27 décembre 2008
30 janv. 2006 à 19:57
youpi
je viens de trouver comment pour les LYRICS
et bin ds le type v2 tu ajoute un "Lyrics as String"
et la ou tu decompose les tampon c a dir Recup_Tag tu ajoute un tampon de type "USLT" ce qui nous mene à :
....
....
....
Case "TENC"
Recup_Tag.Tag2.Encode = Tampon
Case "USLT"
Recup_Tag.Tag2.lyrics = Tampon
end select

et le tour est joué...et puis rien du tout.
fadelovesky Messages postés 38 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 27 décembre 2008
30 janv. 2006 à 19:43
coucou tout le monde
une source parfaite!voilà 10/10 MAIIIS MAIS MAIS j'espéré trouver comment extrare le "LYRICS" de l'MP3!
Encore un petit defis pour vous tous!
merci pour vous tous!
cs_Safireo Messages postés 55 Date d'inscription lundi 17 mars 2003 Statut Membre Dernière intervention 24 février 2011
17 juil. 2005 à 19:06
bien ! il fonctionne presque parfaitement... j'ai cherché longtemps, je n'arrive pas à trouver un code qui n'aie pas le même défaut que le tien (désolé) : quand tu édites le tag id3v2 (en l'occurrence le commentaire) d'un fichier mp3, tu supprimes les éventuelles paroles qui se trouvent juste après. je n'arrive pas à régler le pb... si tu y arrives fais moi signe car pour le reste, ton code est tout ce qu'il me faut !
cs_JLN Messages postés 371 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 17 juin 2013
19 déc. 2004 à 12:13
Je trouve ton prog sympa ce qu'il l'est moins c'est que tu nous met l'eau à la bouche et puis plus rien depuis le 09/04/2003 alors please une mise à jour avec les remarques corrigées. Je met 7 en attendant de mettre 10 si les mises à jour sont faites !

Bonne prog
@+ JLN
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
25 juin 2004 à 14:55
Salut...me revoici...peut etre que cela peut également t'aider et aider certaines personnes ayant été intéressées par ce post...

http://www.vbfrance.com/code.aspx?ID=23912

je sais cela peut passé pour de la pub mais je cherche du monde pour m'aider à compléter mon projet, vu que j'ai de nombreuses idées mais que tout seul je vais en avoir pour des années... ;-) donc, malibu23 si mon source te plait et si l'idée de bosser dessus te branche, fait moi signe...

bonne prog à tous..


PS: c'est valable pour les autres également ;-)
Oliv37000 Messages postés 6 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 17 mars 2004
15 mai 2004 à 11:50
Bravo
cs_Albator14 Messages postés 1 Date d'inscription vendredi 2 avril 2004 Statut Membre Dernière intervention 26 avril 2004
26 avril 2004 à 14:28
Bien joué !!! Excellente programmation. un p'tit - pour le commentaire. Je fais un big projet de lecteur/graveur/médiathèque multi-formats ... et là tu es parti sur de bonne bases. Essai d'inclure dans ton projet une recherche à la Winamp... Au fur et à mesure que tu saisie une lettre, les résultats s'affichent... C ca qu'est bon ... J'attends de voir la finalisation... On comparera... Bravo 9.5/10 !! ;-)
cs_malibu23 Messages postés 36 Date d'inscription samedi 14 décembre 2002 Statut Membre Dernière intervention 15 avril 2008
20 janv. 2004 à 20:24
Bin en fait, je suis désole mais la j'ai pas trop le temps de m en
occuper, je bosse déja 15h par jour alors c'est chaud. Mais des que j ai le temps j y jette un coup d oeil.

Par contre je vois ca differement, plutot avec 2 listview une dans laquelle tu mets les mp3 que tu veux tagger et dans l'autre les mp3 sur lesquelles tu veux recuperer les tags.
Proger Messages postés 248 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 19 décembre 2008
18 janv. 2004 à 23:44
Hep, tu pourrais faire un cloneur de tag pour album ?

je m'explique avec un exemple :
il y a x années j'ai archivé un cd de musique dans ma machine. J'ai extrait puis compressé chaque pistes en utilisant Xing mpeg encoder, un des seuls compresseur mp3 rapide de l'époque des 300Mhz.
Il va sans dire que c'est un horrible compresseur mp3 comparé à lame 3.9x, aussi je souhaite réarchiver mon cd en extrayant une nouvelle fois les pistes du cd original et en les compressant avec lame.
Le hic c'est que ça m'em...rde de nommer les fichiers "track01..10.mp3" et surtout de les retagger sachant que je pourrais récupérer les anciens tag du premier archivage.
Aussi ma requête est : peux-tu faire un cloneur de tag ? le truc c'est :
1/ je prend un dossier et j'y absorbe les tag des fichiers, et je les trie par Track (par le tag Track dans l'ID3, ou par le numéro inclu dans le nom de fichier, puisque le tag Track n'existai pas il y a "x" années)
2/ je sauvegarde cette "banque de tag" (mémoire/fichier texte réutilisable ultérieurement/base de donnée) et a la rigueur je peux la modifier sous bloc-note. Cette banque incluant et le tag, et le nom du fichier.
3/ je sélectionne un dossier avec des mp3 "tout chaud sorti du compresseur". Il y a exactement le même nombre de fichiers chaud que de tag cloné puisqu'il s'agit du même cd d'origine.
Les fichiers "tout chaud" n'ont pas d'emplacement de tag, et s'appellent "track01.mp3" ou "piste 01.mp3", ou (plus chiant pour le tri) "track1.mp3" ... jusqua "track99.mp3" ... Il faut que le "cloneur de tag" sache reconnaitre l'ordre!
4/ j'appuye sur un gros bouton pour myope appelé "Appliquer les Tag!" et hop, mes mp3 tout chaud sont taggé, et renommé a l'identique des anciens :)

Voila moi je dit ca serai trop la classe, surtout que je connais aucun soft qui le font !!!

Après le top du top c'est la possibilité de cloner les tags entre des .mp3 vers des .aac ou .ape ou .ogg ou .mpc etc... dans l'idée où je réarchiverai dans un nouveau format plus compact.

Pour ce qui est du prog, rien a dire coté code. Je ne vois que des fonctions a y rajouté comme par exemple :
- indiquer le nombre de fragments, ou sample, ou bloc, ou frame(je sais pas le nom) de mpeg dans un fichier
- essayer de déterminer avec quel compresseur mp3 le fichier à été fait (par exemple lame laisse parfois des infos de ce genre dans les frames)
- déterminer si le fichier est correct (si ya un checksum CRC dans le mp3, ton soft passe en revu le fichier pour voir s'il y a des corruptions, et/ou plus simplement détermine si les bloc/sample/frame sont complet, si ya pas de "blanc" (00h) qui coupent le fichier, etc...

Bon evidemment après faudrai qu'il supporte la lecture/importation des tags de fichiers .ogg, .ape, .aac, .mpc ... "par compatibilité"

Ok bon maintenant parlons du fait que tu veuilles faire un lecteur de MP3 en natif. Si tu ne le connais pas encore il y a www.wotsit.org qui contient largement ce qu'il faut pour décompresser le mp3. Mieux encore tu peux aller voir le code source du décodeur MAD, le meilleur qui existe ("parait-il", evidemment) dans sourceforge.net . Evidemment dans les deux cas faut savoir "lire" le langage C sinon c'est pas très compréhensible.
Mais bon ya un truc qui m'effraie: pour gérer la sortie sur carte son, tu vas utiliser les API WaveOut ou directsound ? sachant que vb n'aime pas le multithread, et encore moins quand le proggy est compilé, ca va être très dur de faire un décompresseur/lecteur temps réel.
Dans l'immédiat, utiliser les API Mci peuvent te permettre de proposer une solution d'attente pour ton proggy (cf www.vbfrance.com/code.aspx?ID=5096 )
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
12 janv. 2004 à 22:59
>> YoupiYep
jette un coup d'oeil à mon source , cela peut peut-etre t'intéresser
http://www.vbfrance.com/code.aspx?ID=19447

(jette un coup plus précisément au dernier message que j'ai posté, c'est je pense ce qui t'intéresse...)
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
11 janv. 2004 à 18:00
youpiyep pour info je suis également en train de bosser sur un projet IDTag,si cela t'intéresse tu pourras jeté un coup d'oeil...
cs_YoupiYep Messages postés 5 Date d'inscription jeudi 25 décembre 2003 Statut Membre Dernière intervention 21 janvier 2010
11 janv. 2004 à 15:43
Salut,
Beau boulot! ;-)

Suggestion: est-il possible d'automatiser la copie des info de Id3V1 vers Id3V2 (et inversement) sur plusieurs morceaux?
Du genre, j'ai un album où seul les Id3V1 sont mis à jour et je veux d'un click que tout les Id3V2 le soient aussi !! ;-)

Remarque: peux tu gérer l'erreur d'exécution '68', pour éviter que le prog plante?
lorsqu'on veux par exemple ouvrir un lecteur CD alors qu'il n'y a pas de CD dedans, chez moi ça plante. (XPpro)

Merci! ;-)
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
26 déc. 2003 à 22:02
autre petite chose:
est ce normal que frequence = 0 dans le cadre d'un mpeg 2.5 ou réservé?

--------------------------------------------------------------------------
Select Case EnTete_Info(0) And 24
Case 0
Recup_Tag.Mpeg.Mpeg = "2.5"
EnTete_Mpeg = 2
Case 8
Recup_Tag.Mpeg.Mpeg = "Réservé"
EnTete_Mpeg = 0
Case 16
Recup_Tag.Mpeg.Mpeg = "2.0"
EnTete_Mpeg = 2
Freq_Multiplicateur = 2
Case 24
Recup_Tag.Mpeg.Mpeg = "1.0"
EnTete_Mpeg = 1
Freq_Multiplicateur = 4
End Select

(...)

Recup_Tag.Mpeg.Frequence = Recup_Tag.Mpeg.Frequence * Freq_Multiplicateur
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
26 déc. 2003 à 20:57
c'était pas des = au lieu de <> ke tu voulais mettre ? ;-)

gener Recup_Tag = "Réservé" ou "III"

;-)
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
26 déc. 2003 à 20:43
petit commentaire dans la récup des tag Mpeg:

peux tu m'expliqué ce ke tu test quand tu fais:
If EnTete_Mpeg <> 0 And (Recup_Tag.Mpeg.Layer <> "Réservé" Or Recup_Tag.Mpeg.Layer <> "III") Then

en effet :
si recup_tag.mepg.layer = "Résevé" alors:
Recup_Tag.Mpeg.Layer <> "Réservé" est faux mais
Recup_Tag.Mpeg.Layer <> "III" est vrai donc
le OR fait que ta condition est vrai

de même si recup_tag.mepg.layer = "III"
la première est vrai et la seconde est fausse donc le OR est vrai

et si recup_tag.mepg.layer = "II" ou "I" les deux sont vrai donc le OR est Vrai....

bref pour toutes les valeurs de recup_tag.mepg.layer ton test :
Recup_Tag.Mpeg.Layer <> "Réservé" Or Recup_Tag.Mpeg.Layer <> "III" est vrai

y a pas comme un souci kelke part???????
cs_mccoy Messages postés 16 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 24 janvier 2008
17 nov. 2003 à 12:16
Je n'ai qu'un mot : PARFAIT!!!
IFFWarrior Messages postés 5 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 17 janvier 2006
8 nov. 2003 à 01:54
bravo pour ce code ! j'en ai besoin pour implementer une fonction mp3 tag dans un soft de mass-renommage...ton soft a l'air sympa mais ca existe deja bien dans ce genre si tu cherche: MP3TagStudio (share) ou TheGodFather (freeware)...le miens aussi existe en theorie mais c les tites fonctions 'speciales' et qui font gagner 2 milliars d'heure qui font que je le fais et qui interessera du people j'espere...ton soft est surement dans le meme cas je pense...a+
o00zeus00o Messages postés 17 Date d'inscription vendredi 15 mars 2002 Statut Membre Dernière intervention 31 octobre 2007
31 juil. 2003 à 13:32
excellent taff, ton soft ressemble un peu à GodFather, tu pe peut etre t'en inspirer pr avoir des zidées.

Bonne prog ;)
cs_malibu23 Messages postés 36 Date d'inscription samedi 14 décembre 2002 Statut Membre Dernière intervention 15 avril 2008
30 juin 2003 à 20:15
Merci le compliment me va droit au coeur !!
:o)

JM
gmni Messages postés 91 Date d'inscription mercredi 6 novembre 2002 Statut Membre Dernière intervention 20 mars 2009
30 juin 2003 à 04:39
sans commentaires (11/10)
breizhou13 Messages postés 8 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 mai 2003
10 avril 2003 à 02:12
ok pour le challenge (tres gros) mais pour les plug in je trouve ca assez contraignant.
En tout cas bon courage
cs_malibu23 Messages postés 36 Date d'inscription samedi 14 décembre 2002 Statut Membre Dernière intervention 15 avril 2008
9 avril 2003 à 22:54
Bin du moment ou je part a la source du decodage Mp3 apres il suffit de developper des plug in pour chaque nouveau format.

Si je fais ca, c'est pour la simple est bonne raison qu avec les composant wmp pour la lecture des Mp3 sur certain il y a un enorme souffle !.

Puis c'est un challenge personnel.

;-p
breizhou13 Messages postés 8 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 15 mai 2003
9 avril 2003 à 21:51
Excellente source.....
J'ai hate de voir le player parce que qd on voit ce que t'as fait on imagine deja le player.
une question: qd on utilise pas les composants wmp il y a pas un risque de non compatibilite avec les futurs MP3?
une autre: quel est l'avantage de ne pas utiliser les composants?
dsl d etre un peu chiant mais je suis nouveaux et je suis en train d'apprendre sur le tas....
cs_malibu23 Messages postés 36 Date d'inscription samedi 14 décembre 2002 Statut Membre Dernière intervention 15 avril 2008
9 avril 2003 à 15:51
La gestion des TAG est terminée, je m'attaque au lecteur Mp3 sans utiliser d'objet window media player, mais en decompressant directement le Mp3
cs_Urgo Messages postés 780 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 16 avril 2009 1
7 avril 2003 à 18:25
Excellent programme en effet ! Si le projet vient à bout, ce sera surement une bete !
cs_malibu23 Messages postés 36 Date d'inscription samedi 14 décembre 2002 Statut Membre Dernière intervention 15 avril 2008
7 avril 2003 à 17:55
je te remercie KaViDee c'est encourageant, et tu me donnes envie de continuer et de faire encore mieux !

Pour les Autres merci de me laisser vos commentaires ou vos remarques pour l'ameliorer !

@+

Malibu23
KaViDee Messages postés 262 Date d'inscription dimanche 1 septembre 2002 Statut Membre Dernière intervention 18 juin 2008
7 avril 2003 à 17:18
Trop dla balle ta source !!! ça faisait trop longtemps que je cherchais ça !!! very much thanx to u !!!
ça vaut bien un ptit 10 :D
aller bonne prog et @+ en espérent revoir des sources de la meme qualité...
Rejoignez-nous