Page 1 sur 1
Taggueur de fichier MP3
Publié : lun. 23/mai/2005 15:15
par olivier
Comme dab ce n'est pas encore fini, mais il commence à bien marcher.
Voila ici les sources :
http://stef-o.chez.tiscali.fr/taggueur.zip
N'oubliez pas d'installer la lib vidéo de Chriss fournie dans le ZIP
J'attend vos remarques

Publié : lun. 23/mai/2005 20:00
par Jacobus

Ton lien est nase.
Publié : mar. 24/mai/2005 8:55
par olivier
Non il est bon mais je ne sais pas pourquoi il ne marche pas là ????
Copie l'adresse dans le naviguateur et
Et si tu sais pourquoi cela ne marche pas, j'aimerais bien savoir la betise que j'ai fait.
Publié : mar. 24/mai/2005 11:11
par nico
Ou bien enregistrer la cible sous!
Publié : mar. 24/mai/2005 23:00
par KarLKoX
nico a écrit :Ou bien enregistrer la cible sous!
Ca ne fonctionne pas non plus, ca dl la page qui affiche le message d'erreur et donne un zip corrompu (logique).
Multimania utilisait ce système, il faut créer une page vierge avec le lien direct depus le site et non cliquer sur ce lien depuis un autre site.
Publié : mer. 08/juin/2005 19:56
par lionel_om
J'ai essayé ta lib. Ca marche nikel pour les MP3.
Par contre, ça ne marche pas avec les WMA !
Tu ne serais pas comment faire ? Ou si tu as le temps ...
Merci ++
Publié : mar. 14/juin/2005 8:22
par olivier
Non et les WMA est un format prioritaire de M.... et je ne veux pas y toucher!
Hors de question de cotionner microsoft alors que d'autres solutions existent.
désolé
a+
Publié : mar. 14/juin/2005 9:40
par Dr. Dri
propriétaire de Microsoft ^^
mais la faute est mignone (vive la dyslexie ^^)
Dri
Publié : mar. 14/juin/2005 10:51
par Lukky
N'importe quoi !
Dire que tu ne veux pas travailler sur le WMA pour ne pas cautionner Microsoft est vraiment une belle connerie.
T'es encore coincé dans la petite guéguerre Windows/Linux.
Bein mon vieux.
JL
Publié : mar. 14/juin/2005 11:01
par Oliv
Lukky a écrit :N'importe quoi !
Dire que tu ne veux pas travailler sur le WMA pour ne pas cautionner Microsoft est vraiment une belle connerie.
T'es encore coincé dans la petite guéguerre Windows/Linux.
Bein mon vieux.
JL
Je suis entièrement d'accord avec toi, mais il y a peu tu as bien dis
On peux être contre une idée, mais arrondir un peu les angles pour donner son avis n'a rien de déshonorant.
Pas la peine d'être aussi brutal.
Non ?
(Je ne veux surtout pas lancer un débat, mais toi tu es aussi très crus dans tes réponses, et pas que aujourd'hui, alors tu pourrais peut-être "arrondir aussi un peu les angles")
Publié : mar. 14/juin/2005 16:30
par Lukky
Bein déjà le méchant qui n'a pas arrondi les angles à attaqué une simple suggestion sans prétention qui n'avait pas lieu d'être aussi violamment contestée puisqu'il ne s'agissait que d'une proposition et non d'une opinion tranchée, c'était la raison de mon intervention.
Mais je ne contesterai pas tout de même mon manque de souplesse (ce serait par trop faire preuve de mauvaise foie) peut-être dans les mots, mais je garde le fond.
Et puis je ne veux pas lancer un autre débat sans rapport avec la choucroute
Et puis t'as raison alors ...
Publié : mar. 14/juin/2005 19:12
par olivier
Salut les grincheux, au lieu de raler sur mes commentaires... critiquez mon prog cela me sera plus utile
Paix dans le monde et pour commençer sur ce forum.

Publié : dim. 19/juin/2005 16:17
par lionel_om
Moi j'ai des remarques sur ton Prog.
Je suis en train de l'utiliser pour me faire un lecteur MP3 avec LIB (posté dans je ne c plus quelle zone, ms bon...). Mais j'ai des pb
Il semble que ta LIB ne supporte pas le travail à la chaine...
Il y a des conflits mémoires et lorsque l'on charge des nouveaux Tag (surtout des V2), s'ils ne sont pas lisibles ou s'il manque des infos, certaines vieilles informartions remontent .
J'appele tes fonctions : GetMp3Infos(), ReadTagV1() et ReadTagV2() dans une boucle.
J'ai rajouté dans ta fonction GetMp3Infos() des appels de fonctions qui servent à supprimer toutes les infos dans les tags.
Malgré cela, lors de l'appel de ReadTagVx(), certains paramètres d'anciens tags restent. Et je me retrouve avec des chansons de Sum 41 qui font partis de l'album Phobia de Benni Benassi ...
Je suis en train de chercher d'où ca peut venir, mais pour l(instant je ne trouve pas.
Si tu peux jeter un coup d'oeil ca serait cool !
Tu peux utiliser le progr que je susi en train de faire pour tester si tu veux.
Voici l'URL :
ftp://luchezl@ftpperso.free.fr/Programm ... P_demo.rar
Ya un fichier Readme.txt qui explique comme l'Utiliser !
Publié : dim. 19/juin/2005 17:25
par lionel_om
J'ai trouvé d'où vient le BUG : de la liste chainée de la Procédure ReadTagV2 (). Cette liste n'était pas bien vidée, donc elle gardée des info des tags précédents. Je l'ai corrigée :
Code : Tout sélectionner
Procedure.b ReadTagV2(fichier.s)
Protected m_tag.ID3TagV23Header
Protected m_flags.ID3TagV2Flags
Protected m_frames.l
Protected m_fr.ID3TagV23Frame
Protected m_compteur.l : m_numFrames.l
Protected m_taille.l
Protected hOrgFile.l
Protected m_identifiant.s
hOrgFile = ReadFile(#READ_INPUT_FILE_TAG, fichier)
UseFile(#READ_INPUT_FILE_TAG)
If hOrgFile = 0
;MessageRequester("Error", "An error occured while opening " + fichier, 0)
ProcedureReturn #False
EndIf
; InitTagV2()
ReadData(@m_tag, SizeOf(ID3TagV23Header))
; the size is coded on 7 bits, needed to for not be confused with a synchsignal
m_taille = (m_tag\size[0] << 21) | (m_tag\size[1] << 14) | (m_tag\size[2] << 7) | m_tag\size[3]
; revisions are compatible between them but
; version aren't, so we must check this
If m_tag\version <> 3
;MessageRequester("Error", "Tag version is different than 2.3", 0)
CloseFile(#READ_INPUT_FILE_TAG)
ProcedureReturn #False
EndIf
ProcessFlags(m_tag\flag, @m_flags)
If m_flags\unknown
;MessageRequester("Error", "Unkown flag detected !", 0)
CloseFile(#READ_INPUT_FILE_TAG)
ProcedureReturn #False
EndIf
ReadFrames(m_tag, @m_numFrames)
; Reset the list index before the first element.
;; ResetList(frameArray())
;; For m_compteur = 0 To m_numFrames - 1
While FirstElement(frameArray())
;; NextElement(frameArray())
m_identifiant = Space(4)
m_identifiant = Chr((frameArray()\identifiant[0])) + Chr((frameArray()\identifiant[1])) + Chr((frameArray()\identifiant[2])) + Chr((frameArray()\identifiant[3]))
m_taille = (frameArray()\size[0] << 21) | (frameArray()\size[1] << 14) | (frameArray()\size[2] << 7) | frameArray()\size[3]
Debug m_identifiant + " -> " + frameArray()\datas + " ("+Str(m_taille)+")"
Select m_identifiant
Case "TIT2"
If (frameArray()\datas)
m_tagV2Info\title = frameArray()\datas
EndIf
Case "TPE1"
If (frameArray()\datas)
m_tagV2Info\artist = frameArray()\datas
EndIf
Case "TALB"
If (frameArray()\datas)
m_tagV2Info\album = frameArray()\datas
EndIf
Case "TYER"
If (frameArray()\datas)
m_tagV2Info\year = frameArray()\datas
EndIf
Case "TCON"
If (frameArray()\datas)
m_tagV2Info\genre = frameArray()\datas
EndIf
Case "COMM"
If (frameArray()\datas)
m_tagV2Info\comments = frameArray()\datas
EndIf
Case "TCOM"
If (frameArray()\datas)
m_tagV2Info\composer = frameArray()\datas
EndIf
Case "TCOP"
If (frameArray()\datas)
m_tagV2Info\copyright = frameArray()\datas
EndIf
Case "WXXX"
If (frameArray()\datas)
m_tagV2Info\url = frameArray()\datas
EndIf
Case "TENC"
If (frameArray()\datas)
m_tagV2Info\encoded_by = frameArray()\datas
EndIf
Case "TRCK"
If (frameArray()\datas)
m_tagV2Info\track = frameArray()\datas
EndIf
Case "TOPE"
If (frameArray()\datas)
m_tagV2Info\orig_artist = frameArray()\datas
EndIf
EndSelect
DeleteElement(frameArray())
Wend
CloseFile(#READ_INPUT_FILE_TAG)
ProcedureReturn #True
EndProcedure