libid3tag Windows DLL source package available

Chris Korda <[email protected]> Sun, 4 Aug 2013 15:47:50 -0700 (PDT)
Newsgroups gmane.comp.audio.mad.devel
Message-ID <[email protected]>
--1261493821-1235567210-1375656470=:5453
Content-Type: text/plain; charset=us-ascii

I made a version of libid3tag that builds a Windows DLL instead of a static 
library, using reasonably modern tools. My package includes Visual Studio 2008 project files suitable for building both 32-bit and 
64-bit targets. The DLL exports only a subset of the library's 
functions, but this is easily changed by editing libid3tag.def.

The C source files are identical to the original 0.15.1b distribution, 
except for a single one-line change to id3tag.h: an id3_free function 
was added. DLLs should free any memory they 
allocate, and if these allocations are directly exposed to the user, the DLL 
should provide a method for freeing them, so that the freeing can be done by the
 DLL's heap manager, which may differ from the application's. In a DLL version of libid3tag, strings allocated by functions such as id3_ucs4_latin1duplicate MUST be freed via id3_free 
instead of free, otherwise the heap will likely be corrupted, potentially 
crashing the application.

The source package is available here:
http://sourceforge.net/projects/waveshop/files/tools/libid3tag/

Best regards,

Chris Korda
http://waveshop.sourceforge.net/
--1261493821-1235567210-1375656470=:5453
Content-Type: text/html; charset=us-ascii

<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:12pt">I made a version of libid3tag that builds a Windows DLL instead of a static 
library, using reasonably modern tools. My package includes Visual Studio 2008 project files suitable for building both 32-bit and 
64-bit targets. The DLL exports only a subset of the library's 
functions, but this is easily changed by editing libid3tag.def.<br><br>The C source files are identical to the original 0.15.1b distribution, 
except for a single one-line change to id3tag.h: an id3_free function 
was added. DLLs should free any memory they 
allocate, and if these allocations are directly exposed to the user, the DLL 
should provide a method for freeing them, so that the freeing can be done by the
 DLL's heap manager, which may differ from the application's. In a DLL version of libid3tag, strings allocated by functions such as id3_ucs4_latin1duplicate MUST be freed via id3_free 
instead of free, otherwise the heap will likely be corrupted, potentially 
crashing the application.<br><br>The source package is available here:<br>http://sourceforge.net/projects/waveshop/files/tools/libid3tag/<br><br>Best regards,<br><br>Chris Korda<br>http://waveshop.sourceforge.net/<br><br></div></body></html>
--1261493821-1235567210-1375656470=:5453--