^ What's the point?
^ Usage
^ Functions

Download :: Topics on this subject on the Forum :: Top
ID3v2 Library

ID3v1 and ID3v2 reader-writer taging library (.dll) for use in Win32 (9x/ME/2K/XP/Vista) software.
Requirements: any dev. environment that supports the stdcall calling convention (some ID3v2 functions require Delphi).

Note: Old ID3v2.2 Tags are not supported!

New in version 1.1.2: unicode file name and tag support, through a unicode wrapper .dll.

Usage
Uses ID3v2LibraryDefs;
ID3v2Tag := ID3v2_Create;
ID3v2_Load(ID3v2Tag, FileName);
//* Do whatever you want here...
ID3v2_Save(ID3v2Tag, FileName);
ID3v2_Free(ID3v2Tag);

Functions
  • ID3v1_Create(): Pointer; stdcall;
  • ID3v1_Free(Tag: Pointer): Boolean; stdcall;
  • ID3v1_Load(Tag: Pointer; FileName: PChar): Boolean; stdcall;
  • ID3v1_Save(Tag: Pointer; FileName: PChar): Boolean; stdcall;
  • ID3v1_Kill(Tag: Pointer): Integer; stdcall;
  • ID3v1_GetTitle(Tag: Pointer): PChar; stdcall;
  • ID3v1_SetTitle(Tag: Pointer; Title: PChar): Boolean; stdcall;
  • ID3v1_GetArtist(Tag: Pointer): PChar; stdcall;
  • ID3v1_SetArtist(Tag: Pointer; Artist: PChar): Boolean; stdcall;
  • ID3v1_GetAlbum(Tag: Pointer): PChar; stdcall;
  • ID3v1_SetAlbum(Tag: Pointer; Album: PChar): Boolean; stdcall;
  • ID3v1_GetYear(Tag: Pointer): PChar; stdcall;
  • ID3v1_SetYear(Tag: Pointer; Year: PChar): Boolean; stdcall;
  • ID3v1_GetComment(Tag: Pointer): PChar; stdcall;
  • ID3v1_SetComment(Tag: Pointer; Comment: PChar): Boolean; stdcall;
  • ID3v1_GetTrack(Tag: Pointer): Integer; stdcall;
  • ID3v1_SetTrack(Tag: Pointer; Track: Byte): Boolean; stdcall;
  • ID3v1_GetGenre(Tag: Pointer): PChar; stdcall;
  • ID3v1_SetGenre(Tag: Pointer; Genre: Byte): Boolean; stdcall;

  • ID3v2_Create(): Pointer; stdcall;
  • ID3v2_Free(Tag: Pointer): Boolean; stdcall;
  • ID3v2_Kill(Tag: Pointer): Integer; stdcall;
  • ID3v2_Load(Tag: Pointer; FileName: PChar): Integer; stdcall;
  • ID3v2_Loaded(Tag: Pointer): Boolean; stdcall;
  • ID3v2_Save(Tag: Pointer; FileName: PChar): Integer; stdcall;
  • ID3v2_GetAsciiText(Tag: Pointer; FrameName: PChar): PChar; stdcall;
  • ID3v2_SetAsciiText(Tag: Pointer; FrameName, Text: PChar): Boolean; stdcall;
  • ID3v2_FrameCount(Tag: Pointer): Cardinal; stdcall;
  • ID3v2_GetFrameData(Tag: Pointer; FrameIndex: Cardinal; var Data: TStream): Integer; stdcall;
  • ID3v2_SetFrameData(Tag: Pointer; FrameIndex: Cardinal; var Data: TStream): Integer; stdcall;
  • ID3v2_CheckFrameExists(Tag: Pointer; FrameID: PChar): Integer; stdcall;
  • ID3v2_GetFrameID(Tag: Pointer; FrameIndex: Cardinal): PChar; stdcall;
  • ID3v2_DeleteFrame(Tag: Pointer; FrameIndex: Cardinal): Boolean; stdcall;
  • ID3v2_CreateFrame(Tag: Pointer; FrameID: PChar): Cardinal; stdcall;
  • ID3v2_CompressFrame(Tag: Pointer; FrameIndex: Cardinal): Boolean; stdcall;
  • ID3v2_DeCompressFrame(Tag: Pointer; FrameIndex: Cardinal): Boolean; stdcall;
  • ID3v2_AddAlbumPicture(Tag: Pointer; PictureFileName: PChar; PictureFileFormat: Cardinal = 0): Boolean; stdcall;
  • ID3v2_GetAlbumPicture(Tag: Pointer; FrameIndex: Cardinal; PictureFileName: PChar): Cardinal; stdcall;
  • ID3v2_GetAlbumPictureStream(Tag: Pointer; FrameIndex: Cardinal; PictureStream: TStream): Cardinal; stdcall;
  • ID3v2_SyncFrame(Tag: Pointer; FrameIndex: Cardinal): Integer; stdcall;
  • ID3v2_UnSyncFrame(Tag: Pointer; FrameIndex: Cardinal): Integer; stdcall;
  • ID3v2_SetCOMM(Tag: Pointer; Comment, Description: PChar): Integer; stdcall;
  • ID3v2_GetCOMM(Tag: Pointer): PChar; stdcall;
  • ID3v2_SetWXXX(Tag: Pointer; URL: PChar): Integer; stdcall;
  • ID3v2_GetWXXX(Tag: Pointer): PChar; stdcall;
  • ID3v2_GetFrameDataP(Tag: Pointer; FrameIndex: Cardinal; var Data: Pointer; var Length: Cardinal): Integer; stdcall;
  • ID3v2_SetFrameDataP(Tag: Pointer; FrameIndex: Cardinal; Data: Pointer; Length: Cardinal): Integer; stdcall;
  • ID3v2_GetFrameSize(Tag: Pointer; FrameIndex: Cardinal): Cardinal; stdcall;
  • ID3v2_FrameTypeCount (Tag: Pointer; FrameName: PANSIChar): Cardinal; stdcall;
  • ID3v2_TagSize (Tag: Pointer): Int64; stdcall;
  • ID3v2_TagMajorVer (Tag: Pointer): Integer; stdcall;
  • ID3v2_TagMinorVer (Tag: Pointer): Integer; stdcall;
  • ID3v2_FrameIsCompressed (Tag: Pointer; FrameIndex: Integer): Bool; stdcall;
  • ID3v2_GetGenre (Tag: Pointer): PANSIChar; stdcall;

  • ID3v2_LoadUnicode (Tag: Pointer; FileName: PWideChar): Integer; stdcall;
  • ID3v2_SaveUnicode (Tag: Pointer; FileName: PWideChar): Integer; stdcall;
  • ID3v2_GetUnicodeText (Tag: Pointer; FrameName: PANSIChar): PWideChar; stdcall;
  • ID3v2_SetUnicodeText (Tag: Pointer; FrameName: PANSIChar; Text: PWideChar): Bool; stdcall;
  • ID3v2_GetUnicodeCOMM (Tag: Pointer): PWideChar; stdcall;
  • ID3v2_SetUnicodeCOMM (Tag: Pointer; Text: PWideChar): Bool; stdcall;
  • ID3v2_GetCOMM (Tag: Pointer): PANSIChar; stdcall;

ID3v2 Library in shareware and commercial software?

The component is free for use in free software. If you like it and use it in a shareware or commercial product you have to buy a license.


Useful information


[Top]