Author Topic: Tags Library  (Read 151315 times)

Pauven

  • Posts: 8
Re: Tags Library
« Reply #475 on: 22 Oct '18 - 17:04 »
Thank you 3delite for the update, I just applied it.

My program is definitely supporting Ogg files, so thank you for that tip.

Something very odd about the ParseCoverArts parameter.  I added it, and the program compiles and runs okay, but the Delphi 10.2.3 syntax checker complains that " 'TTags' does not contain a member named 'ParseCoverArts' ", and underlines it in red.

I looked in TagsLibrary,pas, and ParseCoverArts doesn't exist anywhere in that file.

I then looked in ID3v2Library, and I see a ParseCoverArts Boolean as a public var in the TID3v2Tag class.

Parsing speed stayed about the same either way.

Thoughts?

Paul

3delite

  • Posts: 933
Re: Tags Library
« Reply #476 on: 24 Oct '18 - 23:02 »
That's strange, it should be in line 281 (TagsLibrary.pas, in the Delphi folder of the package), it's there here. :)

Please check that Delphi is using the right TagsLibrary.pas file, maybe You copied TagsLibrary.pas somewhere on the search path and Delphi is using the wrong unit.

Pauven

  • Posts: 8
Re: Tags Library
« Reply #477 on: 25 Oct '18 - 16:39 »
Hmmm, very weird, it's there now, and the syntax error is now gone.

I did close and reopen Delphi since I last checked, so maybe that had something to do with it.

Sorry for the false report.  I really appreciate all your help!

Paul

azrael11

  • Posts: 25
Re: Tags Library
« Reply #478 on: 29 Oct '18 - 08:43 »
Hello...
i have a little problem saving an image to ID3v2 tag mp3

here is my code
Code: [Select]
if vSoundplayer.scene.OpenDialog.FileName <> '' then
  begin
    Fext := UpperCase(ExtractFileExt(vSoundplayer.scene.OpenDialog.FileName));
    if (Fext = '.JPG') or (Fext = '.JPEG') then
    begin
      MIMEType := 'image/jpeg';
    end;
    if (Fext = '.PNG') then
    begin
      MIMEType := 'image/png';
    end;
    if (Fext = '.BMP') then
    begin
      MIMEType := 'image/bmp';
    end;
    if (Fext = '.GIF') then
    begin
      MIMEType := 'image/gif';
    end;

    Description := '';
    PictureType := $03;
    FrameIndex := addons.soundplayer.Player.Tag.mp3.ID3v2.AddFrame('APIC');

    if addons.soundplayer.Player.Tag.mp3.ID3v2.SetUnicodeCoverPictureFromFile
      (addons.soundplayer.Player.Tag.mp3.ID3v2.FrameExists('APIC'), Description,
      vSoundplayer.scene.OpenDialog.FileName, MIMEType, PictureType) then
      vSoundplayer.Tag.mp3.ID3v2_Cover.Bitmap.LoadFromFile(vSoundplayer.scene.OpenDialog.FileName);
    addons.soundplayer.Player.Tag.mp3.ID3v2.Free;

The debugger says that the file used from another procces ...
I check it and i dont find anything so what i'm doing wrong here.

But when i save the same time the ID3v1 then saves ok.

Thank you.

bega

  • Posts: 23
Re: Tags Library
« Reply #479 on: 2 Nov '18 - 19:47 »
need the tagslib.lib and tagslib.a to use in QT
« Last Edit: 2 Nov '18 - 21:13 by bega »

3delite

  • Posts: 933
Re: Tags Library
« Reply #480 on: 5 Nov '18 - 22:56 »
Attached the LIB file. Not sure what "tagslib.a" is, sorry.

Steve Grant

  • Posts: 180
Re: Tags Library
« Reply #481 on: 20 Nov '18 - 08:56 »
Hi 3delite,

I have found a track that won't read or write with TagsLib. It just crashes my app even though I have a lot of error checking in place.

It is fine in MP3Tag, dBpoweramp and AudioGenie.

https://www.dropbox.com/s/eci4w7om6d839xm/CD1394Track08.zip?dl=1

Cheers Steve.

Steve Grant

  • Posts: 180
Re: Tags Library
« Reply #482 on: 29 Nov '18 - 12:20 »
Is it possible to correct this? I notice even your test exe has the problem.

EWeiss

  • Posts: 486
Re: Tags Library
« Reply #483 on: 29 Nov '18 - 12:51 »
Is it possible to correct this? I notice even your test exe has the problem.

which is a APE-Tag inside the file and that is wrong has nothing to do with ID3-Tag, but does the same Job.
no idea that TagsLib supports APE-Tag !

TagsLib supports APEv2..

greets
« Last Edit: 29 Nov '18 - 12:55 by EWeiss »

Steve Grant

  • Posts: 180
Re: Tags Library
« Reply #484 on: 29 Nov '18 - 13:14 »
Hi Emil, yes I had noticed there was an Ape as well as an ID3v2.3 tag in there.

My problem is that Tagslib completely crashes my VB6 program IDE & Compiled - Read & Write. Even though I have error checking turned on in the method.

AudioGenie, dBpoweramp, mp3tag just deal with it ok.

Obviously I cannot have my program crashing!

Best to you.

EWeiss

  • Posts: 486
Re: Tags Library
« Reply #485 on: 30 Nov '18 - 09:40 »
Quote
Obviously I cannot have my program crashing!
There you are right  :)

i hope can fix it.

greets

Steve Grant

  • Posts: 180
Re: Tags Library
« Reply #486 on: 7 Dec '18 - 08:05 »
Here's some more info, I have reverted to v1.0.75.130 from v1.0.78.133 and the problem has gone!!

DividedSE

  • Posts: 2
Re: Tags Library
« Reply #487 on: 28 Feb '19 - 13:25 »
@3delite
Can you Help Me Please? I am making a software in c# & i stuck on Reading a tag.
Tag name:- Musicbrainz Recoring ID (tag saved by Picard) #Attachment 4.png
It saved as UFID frame in my mp3. #Attachment 5.png
I used the code in c# in my program. MusicBrainzRecordingIdTag.Text=TagsLib.TagsLibrary_GetTag(_tags, "UFID", TTagType.ttID3v2); #Attachment 2.png.
But i receiving value "binary 59 byte" #Attachment 3.png
Also your sample program giving same wrong value. #Attachment 1.png

Can you please tell me how to get the string value in c# ? Thanks

dividedse1

  • Guest
Re: Tags Library
« Reply #488 on: 3 Jun '19 - 13:42 »
How to save data to USLT tag:-
This code doesn't work. ??? ??? ???
Dim Tags As HTAGS = TagsLib.TagsLibrary_Create()
Dim TagsError As TTagError = TagsLib.TagsLibrary_Load(Tags, editfile, TTagType.ttAutomatic, False)
If TagsError = TTagError.TAGSLIBRARY_SUCCESS Then
       TagsLib.TagsLibrary_SetTag(Tags, "USLT", Lyrics_Tag.Text.ToString(), TTagType.ttID3v2)
End If
TagsLib.TagsLibrary_SaveEx(Tags, editfile, TTagType.ttID3v2)

Steve Grant

  • Posts: 180
Re: Tags Library
« Reply #489 on: 30 Jul '19 - 11:37 »
Hi 3delite I seem to have found another bug.

flac files metdata usually shows in file explorer. After the update to Windows 10 1903, I've noticed that if a flac file is written to by tags library then the metadata in File Explorer disappears. The metadata is still in the file ok (confirmed by mp3Tag) but just doesn't show in Explorer. Even doing an update with mp3tag does not bring it back. The only way to get it to show again is to delete the whole tag with mp3Tag and re-enter the data and let mp3Tag write the file.

Are you really now charging freeware developers for the use of TagsLib?

findjammer

  • Posts: 18
Re: Tags Library
« Reply #490 on: 20 Apr '20 - 10:25 »
Is this the same Tags library download that's listed on the home page?

Ian @ un4seen

  • Administrator
  • Posts: 22829
Re: Tags Library
« Reply #491 on: 20 Apr '20 - 16:43 »
The download link for this library is in the 1st post. It isn't the same as the Tags add-on that's on the BASS webpage.

zhcen

  • Posts: 1
Re: Tags Library
« Reply #492 on: 20 May '20 - 08:24 »
why no libtags for osx64?

Hi!

First alpha release of my new component is available!

Tags Library is a component for Delphi (Win32, Win64, OSX, iOS and Android) and Lazarus/Free pascal, and a .dll for developer environments supporting usage of Win32, Win64 or OSX32 .dlls (C++, VB, etc.).

Features:

  • Loading of ID3v1, ID3v2, Lyrics3, APEv1, APEv2, Flac (including Ogg Flac), Ogg Vorbis, Opus, MP4 (including video files and 64bit atom size files), WAV LIST INFO, BEXT and CART (including RF64 WAV files) and WMA tags
  • Saving of ID3v1, ID3v2, Lyrics3, APEv2, Flac (including Ogg Flac), Ogg Vorbis, Opus, MP4 (including video files and 64bit atom size files), WAV LIST INFO, BEXT and CART (including RF64 WAV files) and WMA tags
  • Removing of all the supported tags
  • Bulit in support for extracting and inserting album cover pictures for all the supported tag formats
  • Handle the tags transparently or call direct functions for particular tags
  • Integration with BASS, load tags from BASS channel handles (local or URL streams)
  • Fully unicode
  • Pure Delphi code, no external dependencies, Delphi XE2 64bit and OSX, Delphi XE5 iOS and Android compatible
  • .dll version provided for Win32, Win64 and OSX32

Home page and download for Tags Library

NOTE: .dll version not yet provided, this is an alpha release with only Delphi units, I will be working on a .dll version in the following days. But there are tutorial example binaries in the package, so everyone can test them.

The whole project is very little tested, especially the saving part, please let me know your findings, suggestions, pointers, etc... I'd like to make this component the official BASS tag reading/writing component so please elaborate. :)

Thank you!

Mike85Dev

  • Posts: 1
Re: Tags Library
« Reply #493 on: 29 May '20 - 15:53 »
Hi,

First of all, your library ist really good! But I have a Problem with the extraction of Cover Art.
I use the function   TagsLibrary_GetCoverArtBitmapHandle();   and they Always returned FALSE?
Here is my Little C++ example:

HANDLE hbmp = 0;
TCoverArtData data;
if (!TagsLibrary_GetCoverArtBitmapHandle(Tags, ttAutomatic, 1, &data, &hbmp, 0, 0, false, FILTER_LANCZOS3, hwnd)) {
   ..
}
Thank you!

3delite

  • Posts: 933
Re: Tags Library
« Reply #494 on: 8 Jun '20 - 00:13 »
TagsLibrary_GetCoverArtBitmapHandle() uses FreeImage.dll to load the cover art and then creates a standard Windows HBITMAP handle from it, that's returned.
Please check if FreeImage.dll is on the search path (eg. beside your .exe). Note that for the Win64 version vcomp140.dll is also needed.