IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Ajouter tag ID3V2 à un mp3 sans tag


Sujet :

Lazarus Pascal

  1. #1
    Membre éclairé
    Avatar de sematimo
    Profil pro
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut Ajouter tag ID3V2 à un mp3 sans tag
    Bonjour
    J'ai une appli qui lit et modifie les tags ID3V2.3 et 4.
    Fonctionne sans problème.
    Maintenant je voudrais ajouter des tags à des fichiers mp3 sans tag, sans ID TAG ou ID3.

    Pour créer l'entête :
    3 bytes pour ID3 (73 68 51)
    2 bytes pour la version 3.0 (3 0)
    ensuite 3 bytes pour flags (0 0 0) pas de synchro, extend, experiment
    ensuite 2 bytes pour la taille codée sur 16 octets , pour une taille 4096 il faut enlever les 10 octets de l'entête ce qui donne 4086 (31 118)

    Mais après pour les frames je suis perdu

  2. #2
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 252
    Par défaut
    hello,
    tu peux essayer de t'inspirer avec ce qu'il y a ici
    les tags sont à la fin des fichiers.

    ami calmant, J.P

  3. #3
    Membre éclairé
    Avatar de sematimo
    Profil pro
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut
    Avec ton lien, s'est la version 1 de ID3, sans possibilité d'ajouter d'image et autres.
    Avec la version 3 et 4, les tag sont en début de fichier.

  4. #4
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 252
    Par défaut
    hello,
    il y a une bibliothèque pascal ID3v2 ici :

    ID3v2 Library

    ID3v2 Library is a component for use in Win32 and Win64 (9x/ME/2K/XP/Vista/7/8/10), OSX, iOS, Android and Linux software.
    Reads and writes ID3v1, Lyrics3v2 and ID3v2.3, ID3v2.4 tags.


    Features:
    Loading of ID3v1, Lyrics3v2, ID3v2.2, ID3v2.3 and ID3v2.4 tags
    Saving of ID3v1, Lyrics3v2, ID3v2.3 and ID3v2.4 tags
    iTunes compatible reading-writing for WAV (including RF64) and AIFF/AIFC ID3v2 tags
    Support of DSD .dsf and .dff audio files
    Pure Delphi code, no external dependencies
    Supports unsynchronisation
    Supports compression/decompression of frames
    ID3v2 chapters are fully supported
    Access directly all frames as a TMemoryStream (full controll of the frame contents)
    Full unicode support
    Delphi XE2 64bit and OSX, Delphi XE5 iOS and Android, Tokyo Linux compatible
    Lazarus/Free pascal compatible
    Cross platform FireMonkey example included
    NOTE: Old ID3v2.2 tags (with 3 character frame names) are only supported for reading.
    Ami calmant, J.P

  5. #5
    Membre éclairé
    Avatar de sematimo
    Profil pro
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut
    Bonjour jurassic pork
    C'est bien la bibliothèque Pascal ID3v2 version 1.8 que j'utilise dans mon projet, mais il ne semble pas que l'on puisse créer un tag sur un mp3 qui n'en a pas, on peut juste lire et modifier.
    J'ai essayé la version 2 de ID3v2, mais elle plante avec Lazarus.

  6. #6
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 252
    Par défaut
    Citation Envoyé par sematimo Voir le message
    j'ai essayé la version 2 de ID3v2 , mais elle plante avec lazarus.
    Effectivement il y a des erreurs de compilation à corriger pour Lazarus :

    (par exemple sous Windows pour FPC il manque l'unité Windows dans les uses des bibliothèques).
    Et pour compiler le tutorial :
    • Convertir le projet delphi Tutorial en projet lazarus.
    • Commenter les parties gestion d'images.
    • Remplacer string par unicodestring pour les variables mimetype et description.

    J'arrive à compiler alors le projet et à l'exécuter.
    En tout cas en utilisant le binaire fourni du tutorial de cette version 2 on arrive à écrire des tags dans des fichiers mp3 qui n'en n'ont pas.
    Comme c'est un shareware je ne fournis pas les fichiers modifiés. J'ai juste seulement essayé les bibliothèques :
    ID3v2 Library's shareware distribution method gives users the possibility to try out the software freely.
    Ami calmant, J.P

  7. #7
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 252
    Par défaut
    Hello,
    en regardant les messages de compilation, je me suis aperçu que c'était la conversion du projet Delphi en Lazarus qui entraînait certaines erreurs:


    Messages, Errors: 1, Hints: 12
    TutorialID3v2.lpi Note: Added defines -dBorland -dVer150 -dDelphi7 -dCompiler6_Up -dPUREPASCAL in custom options
    Progress: Found all unit files
    TutorialID3v2.lpr(3,15) Note: Added MODE Delphi syntax modifier after unit name.


    *** Converting unit files belonging to project/package ***
    Unit1.pas Note: Changed encoding from cp1252 to UTF-8
    Unit1.pas Note: Removed unit "PNGImage" from uses section.
    Unit1.pas Note: Removed unit "JPEG" from uses section.
    -> Unit1.pas Note: Replaced unit "Windows" with "LCLIntf, LCLType, LMessages" in uses section.
    Unit1.pas(62,15) Note: Added MODE Delphi syntax modifier after unit name.
    ID3v1Library.pas Note: Changed encoding from cp1252 to UTF-8
    ID3v1Library.pas Note: Replaced unit "Windows" with "LCLIntf, LCLType, LMessages" in uses section.
    ID3v2Library.pas Note: Changed encoding from utf8bom to UTF-8
    ID3v2Library.pas Note: Replaced unit "Windows" with "LCLIntf, LCLType, LMessages" in uses section.
    Fatal: Conversion Aborted.
    Hint: This log was saved to D:\Dev\Lazarus\Projets\ID3v2 Library 2.0.90.210\Delphi\Tutorial\AutomaticConversion.log
    Voici donc ce que je propose :
    Pour les projets Delphi il ne faut convertir que le .dpr en lpr lpi et le dfm en lfm :
    Dans un premier temps il ne faut pas toucher aux .pas.
    Ensuite par exemple pour le projet Tutorial dans le fichier Unit1.Pas :
    1 - Enlever PNGImage, JPEG des uses
    2 - Remplacer tous les TPNGImage par TPortableNetworkGraphic
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        PNGPicture: TPortableNetworkGraphic;
    Commenter les lignes :
    Dans la définition de toutes les variables Description et MimeType, remplacer String par UnicodeString.


    A voir si ces modifications entraînent des dysfonctionnements. En particulier les encodages UTF8, ANSI.


    En tout cas on arrive à compiler et à utiliser l'exécutable du projet Tutorial (windows 10 Lazarus 2.0.12 - 32 bits)


    Ami calmant, J.P

  8. #8
    Membre éclairé
    Avatar de sematimo
    Profil pro
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Par défaut
    merci, je vais tester...

Discussions similaires

  1. Recherche du descriptif des tags ID3V2 pour MP3
    Par slayess dans le forum Audio
    Réponses: 0
    Dernier message: 11/09/2009, 17h00
  2. Réponses: 10
    Dernier message: 01/01/2006, 18h20
  3. Réponses: 2
    Dernier message: 04/12/2005, 21h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo