debian/0000755000000000000000000000000011741433264007173 5ustar debian/patches/0000755000000000000000000000000011741433264010622 5ustar debian/patches/50-remove-outdated-check.patch0000644000000000000000000000041011345437564016246 0ustar We don't actually need iomanip.h --- a/configure.in +++ b/configure.in @@ -227,7 +227,6 @@ ) AC_CHECK_HEADERS( \ string \ - iomanip.h \ ,,AC_MSG_ERROR([Missing a vital header file for id3lib]) ) debian/patches/00-add-libz-to-compilation.patch0000644000000000000000000000043411320550541016472 0ustar This patch was first introduced in version 3.8.3-3 It fixes http://bugs.debian.org/208672 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -74,6 +74,8 @@ if ID3_NEEDZLIB LDADD = $(top_builddir)/zlib/src/libz.la +else +libid3_la_LIBADD = -lz endif libid3_la_LDFLAGS = \ debian/patches/30-fix-utf16.patch0000644000000000000000000000237511320551646013621 0ustar Patch from 'Spoon' to fix issues with writing certain unicode characters --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-02-17 Jerome Couderc + + * Patch from Spoon to fix UTF-16 writing bug + http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979 + 2003-03-02 Sunday 17:38 Thijmen Klok * THANKS (1.20): added more people --- a/src/io_helpers.cpp +++ b/src/io_helpers.cpp @@ -363,11 +363,22 @@ // Write the BOM: 0xFEFF unicode_t BOM = 0xFEFF; writer.writeChars((const unsigned char*) &BOM, 2); + // Patch from Spoon : 2004-08-25 14:17 + // http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979 + // Wrong code + //for (size_t i = 0; i < size; i += 2) + //{ + // unicode_t ch = (data[i] << 8) | data[i+1]; + // writer.writeChars((const unsigned char*) &ch, 2); + //} + // Right code + unsigned char *pdata = (unsigned char *) data.c_str(); for (size_t i = 0; i < size; i += 2) { - unicode_t ch = (data[i] << 8) | data[i+1]; + unicode_t ch = (pdata[i] << 8) | pdata[i+1]; writer.writeChars((const unsigned char*) &ch, 2); } + // End patch } return writer.getCur() - beg; } debian/patches/15-fix-headers-of-main-functions.patch0000644000000000000000000000175711320551166017624 0ustar This patch fixes some function headers in demo code used during 'make check' --- a/examples/demo_info.cpp +++ b/examples/demo_info.cpp @@ -309,7 +309,7 @@ #define DEBUG -int main( unsigned int argc, char * const argv[]) +int main(int argc, char * const argv[]) { ID3D_INIT_DOUT(); --- a/examples/demo_convert.cpp +++ b/examples/demo_convert.cpp @@ -84,7 +84,7 @@ } } -int main( unsigned int argc, char * const argv[]) +int main(int argc, char * const argv[]) { flags_t ulFlag = ID3TT_ALL; gengetopt_args_info args; --- a/examples/demo_copy.cpp +++ b/examples/demo_copy.cpp @@ -81,7 +81,7 @@ } } -int main( unsigned int argc, char * const argv[]) +int main(int argc, char * const argv[]) { int ulFlag = ID3TT_ID3; ID3D_INIT_DOUT(); --- a/examples/demo_tag.cpp +++ b/examples/demo_tag.cpp @@ -46,7 +46,7 @@ os << "v2"; } -int main( unsigned int argc, char * const argv[]) +int main(int argc, char * const argv[]) { int ulFlag = ID3TT_ID3; ID3D_INIT_DOUT(); debian/patches/40-deal-with-mkstemp.patch0000644000000000000000000000307211320552152015411 0ustar This patch fixes an issues where temporary files were created in an insecure way. It was first intruduced in version 3.8.3-7 and fixes http://bugs.debian.org/438540 --- a/src/tag_file.cpp +++ b/src/tag_file.cpp @@ -242,8 +242,8 @@ strcpy(sTempFile, filename.c_str()); strcat(sTempFile, sTmpSuffix.c_str()); -#if ((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP)) - // This section is for Windows folk && gcc 3.x folk +#if !defined(HAVE_MKSTEMP) + // This section is for Windows folk fstream tmpOut; createFile(sTempFile, tmpOut); @@ -257,7 +257,7 @@ tmpOut.write((char *)tmpBuffer, nBytes); } -#else //((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP)) +#else //!defined(HAVE_MKSTEMP) // else we gotta make a temp file, copy the tag into it, copy the // rest of the old file after the tag, delete the old file, rename @@ -270,7 +270,7 @@ //ID3_THROW_DESC(ID3E_NoFile, "couldn't open temp file"); } - ofstream tmpOut(fd); + ofstream tmpOut(sTempFile); if (!tmpOut) { tmpOut.close(); @@ -285,14 +285,14 @@ uchar tmpBuffer[BUFSIZ]; while (file) { - file.read(tmpBuffer, BUFSIZ); + file.read((char *)tmpBuffer, BUFSIZ); size_t nBytes = file.gcount(); - tmpOut.write(tmpBuffer, nBytes); + tmpOut.write((char *)tmpBuffer, nBytes); } close(fd); //closes the file -#endif ////((defined(__GNUC__) && __GNUC__ >= 3 ) || !defined(HAVE_MKSTEMP)) +#endif ////!defined(HAVE_MKSTEMP) tmpOut.close(); file.close(); debian/patches/61-fix_vbr_stack_smash.patch0000644000000000000000000000157411562643303016113 0ustar Description: Fix crashes when reading VBR MP3 file. Bug-Ubuntu: https://launchpad.net/bugs/444466 Origin: upstream, http://sourceforge.net/tracker/?func=detail&aid=937707&group_id=979&atid=300979 Forwarded: yes Author: Urs Fleisch Index: id3lib3.8.3-3.8.3/src/mp3_parse.cpp =================================================================== --- id3lib3.8.3-3.8.3.orig/src/mp3_parse.cpp 2009-10-06 23:12:10.381250132 +0200 +++ id3lib3.8.3-3.8.3/src/mp3_parse.cpp 2009-10-06 23:14:09.545252591 +0200 @@ -465,7 +465,7 @@ // from http://www.xingtech.com/developer/mp3/ const size_t VBR_HEADER_MIN_SIZE = 8; // "xing" + flags are fixed - const size_t VBR_HEADER_MAX_SIZE = 116; // frames, bytes, toc and scale are optional + const size_t VBR_HEADER_MAX_SIZE = 120; // frames, bytes, toc and scale are optional if (mp3size >= vbr_header_offest + VBR_HEADER_MIN_SIZE) { debian/patches/20-create-manpages.patch0000644000000000000000000001051711345443076015124 0ustar This patch adds debian-made man pages --- /dev/null +++ b/doc/man/id3info.1 @@ -0,0 +1,31 @@ +.TH ID3INFO 1 "May 2000" local "User Command" +.SH NAME +id3info \- Display id3 tag information. +.SH SYNOPSIS +.B id3info +.RB [ +.I OPTION +.RB ] +.RB [ +.I FILE +.RB ] +.br +.SH DESCRIPTION +.B Id3info +displays both the id3v1 and id3v2 tag information for a file. +Id3info will not differentiate between the two types of tags. +.SH OPTIONS +.TP +.B \-h, \-\-help +Display help and exit +.TP +.B \-v, \-\-version +Display version information and exit +.SH SEE ALSO +id3convert(1), id3tag(1), id3v2(1) +.SH AUTHOR +.B id3lib +was originally designed and implemented by Dirk Mahoney and is +maintained by Scott Thomas Haug . Manual page written for +Debian GNU/Linux by Robert Woodcock . + --- /dev/null +++ b/doc/man/id3tag.1 @@ -0,0 +1,69 @@ +.TH ID3TAG 1 "May 2000" local "User Command" +.SH NAME +id3tag \- Tags an mp3 file with id3v1 and/or id3v2 tags. +.SH SYNOPSIS +.B id3tag +.RB [ +.I OPTION +.RB ] ... +.RB [ +.I FILE +.RB ] ... +.br +.SH DESCRIPTION +.B Id3tag +will render both types of tag by default. Only the last +tag type indicated in the option list will be used. Non- +rendered will remain unchanged in the original file. Will +also parse and convert Lyrics3 v2.0 frames, but will not +render them. + +.SH OPTIONS +.TP +.B \-1, \-\-v1tag +Render only the id3v1 tag +.TP +.B \-2, \-\-v2tag +Render only the id3v2 tag +.TP +.B \-h, \-\-help +Display help and exit +.TP +.B \-v, \-\-version +Display version information and exit +.TP +.B \-a, \-\-artist ARTIST +Set the artist information +.TP +.B \-s, \-\-song SONG +Set the song title information +.TP +.B \-A, \-\-album ALBUM +Set the album title information +.TP +.B \-c, \-\-comment COMMENT +Set the comment information +.TP +.B \-C, \-\-desc DESCRIPTION +Set the comment description +.TP +.B \-g, \-\-genre num +Set the genre number +.TP +.B \-y, \-\-year num +Set the year +.TP +.B \-t, \-\-track num +Set the track number +.TP +.B \-T, \-\-total num +Set the total number of tracks on the album + +.SH SEE ALSO +id3convert(1), id3info(1), id3v2(1) +.SH AUTHOR +.B id3lib +was originally designed and implemented by Dirk Mahoney and is +maintained by Scott Thomas Haug . Manual page written for +Debian GNU/Linux by Robert Woodcock . + --- /dev/null +++ b/doc/man/id3convert.1 @@ -0,0 +1,47 @@ +.TH ID3CONVERT 1 "May 2000" local "User Command" +.SH NAME +id3convert \- Converts between id3v1 and id3v2 tags of an mp3 file. +.SH SYNOPSIS +.B id3convert +.RB [ +.I OPTION +.RB ] +.RB [ +.I FILE +.RB ] +.br +.SH DESCRIPTION +.B Id3convert +converts between id3v1 and id3v2 tags of an mp3 file. Id3convert will render +both types of tag by default. Only the last tag type indicated in the option +list will be used. Non-rendered tags will remain unchanged in the original +file. Id3convert will also parse and convert Lyrics3 v2.0 frames, but will +not render them. + +.SH OPTIONS +.TP +.B \-1, \-\-v1tag +Render only the id3v1 tag +.TP +.B \-1, \-\-v2tag +Render only the id3v2 tag +.TP +.B \-s, \-\-strip +Strip, rather than render, the tags +.TP +.B \-p, \-\-padding +Use padding in the tag +.TP +.B \-h, \-\-help +Display help and exit +.TP +.B \-v, \-\-version +Display version information and exit + +.SH SEE ALSO +id3tag(1), id3info(1), id3v2(1) +.SH AUTHOR +.B id3lib +was originally designed and implemented by Dirk Mahoney and is +maintained by Scott Thomas Haug . Manual page written for +Debian GNU/Linux by Robert Woodcock . --- /dev/null +++ b/doc/man/id3cp.1 @@ -0,0 +1,38 @@ +.TH ID3CP 1 "July 2001" local "User Command" +.SH NAME +id3cp \- Copies tags from one file to another. +.SH SYNOPSIS +.B id3cp +.RB [ +.I OPTION +.RB ] ... +.RB [ +.I SOURCE +.RB ] +.RB [ +.I DEST +.RB ] +.br +.SH DESCRIPTION +.B Id3cp +copies tags from SOURCE to DEST. +.SH OPTIONS +.TP +.B \-1, \-\-v1tag +Render only the id3v1 tag +.TP +.B \-1, \-\-v2tag +Render only the id3v2 tag +.TP +.B \-h, \-\-help +Display help and exit +.TP +.B \-v, \-\-version +Display version information and exit +.SH SEE ALSO +id3convert(1), id3info(1), id3v2(1) +.SH AUTHOR +.B id3lib +was originally designed and implemented by Dirk Mahoney and is +maintained by Scott Thomas Haug . Manual page written for +Debian GNU/Linux by Robert Woodcock . debian/patches/10-fix-compilation-with-cpp-headers.patch0000644000000000000000000000104011345437476020331 0ustar This patch imports the proper C++ headers --- a/include/id3/id3lib_strings.h +++ b/include/id3/id3lib_strings.h @@ -30,6 +30,7 @@ #define _ID3LIB_STRINGS_H_ #include +#include #if (defined(__GNUC__) && (__GNUC__ >= 3) || (defined(_MSC_VER) && _MSC_VER > 1000)) namespace std --- a/include/id3/writers.h +++ b/include/id3/writers.h @@ -30,7 +30,7 @@ #include "id3/writer.h" #include "id3/id3lib_streams.h" -//#include +#include class ID3_CPP_EXPORT ID3_OStreamWriter : public ID3_Writer { debian/patches/series0000644000000000000000000000060711562661452012045 0ustar 00-add-libz-to-compilation.patch 05-create-m4-directory.patch 10-fix-compilation-with-cpp-headers.patch 15-fix-headers-of-main-functions.patch 20-create-manpages.patch 30-fix-utf16.patch 40-deal-with-mkstemp.patch 50-remove-outdated-check.patch 60-id3lib-missing-nullpointer-check.patch 60-add-c-wrapper-functions.patch 60-fix_make_check.patch 60-spelling.patch 61-fix_vbr_stack_smash.patch debian/patches/60-fix_make_check.patch0000644000000000000000000000300211320552530014770 0ustar This patch fixes some function headers and imports in order for 'make check' to work. It was first introduced in version 3.8.3-9 diff -Naur id3lib-3.8.3.orig/examples/findeng.cpp id3lib-3.8.3/examples/findeng.cpp --- id3lib-3.8.3.orig/examples/findeng.cpp 2003-03-02 01:23:00.000000000 +0100 +++ id3lib-3.8.3/examples/findeng.cpp 2009-12-10 00:58:12.173795997 +0100 @@ -9,7 +9,7 @@ using std::cout; using std::endl; -int main(unsigned argc, char* argv[]) +int main(int argc, char* argv[]) { ID3D_INIT_DOUT(); ID3D_INIT_WARNING(); diff -Naur id3lib-3.8.3.orig/examples/findstr.cpp id3lib-3.8.3/examples/findstr.cpp --- id3lib-3.8.3.orig/examples/findstr.cpp 2003-03-02 01:23:00.000000000 +0100 +++ id3lib-3.8.3/examples/findstr.cpp 2009-12-10 00:57:48.036819825 +0100 @@ -9,7 +9,7 @@ using std::cout; using std::endl; -int main(unsigned argc, char* argv[]) +int main(int argc, char* argv[]) { ID3D_INIT_DOUT(); ID3D_INIT_WARNING(); diff -Naur id3lib-3.8.3.orig/examples/test_io.cpp id3lib-3.8.3/examples/test_io.cpp --- id3lib-3.8.3.orig/examples/test_io.cpp 2003-03-02 01:23:00.000000000 +0100 +++ id3lib-3.8.3/examples/test_io.cpp 2009-12-10 00:57:03.612111640 +0100 @@ -11,6 +11,9 @@ #include #include +using std::cin; +using std::hex; +using std::dec; using std::cout; using std::endl; using std::cerr; @@ -18,7 +21,7 @@ using namespace dami; int -main(size_t argc, const char** argv) +main(int argc, const char** argv) { ID3D_INIT_DOUT(); ID3D_INIT_WARNING(); debian/patches/60-spelling.patch0000644000000000000000000001301011403335520013665 0ustar This patch fixes some minor spelling mistakes diff -Naur id3lib-3.8.3.orig//ChangeLog id3lib-3.8.3//ChangeLog --- id3lib-3.8.3.orig//ChangeLog 2010-06-08 05:21:47.817061336 +0200 +++ id3lib-3.8.3//ChangeLog 2010-06-08 05:21:05.320811354 +0200 @@ -2266,7 +2266,7 @@ * examples/demo_info.cpp (1.19): (PrintInformation): When printing synced lyrics info, now uses a MemoryReader, BinaryNumberReader, and TextReader to extract the - infromation from the binary field. This is a cheat, since these + information from the binary field. This is a cheat, since these classes aren't normally exposed to folks using the library. Hopefully they will be exposed soon enough for the next major release. diff -Naur id3lib-3.8.3.orig//doc/id3v2.3.0.html id3lib-3.8.3//doc/id3v2.3.0.html --- id3lib-3.8.3.orig//doc/id3v2.3.0.html 2010-06-08 05:21:47.859810543 +0200 +++ id3lib-3.8.3//doc/id3v2.3.0.html 2010-06-08 05:21:05.373811128 +0200 @@ -2157,7 +2157,7 @@ 64.Native American 65.Cabaret 66.New Wave - 67.Psychadelic + 67.Psychedelic 68.Rave 69.Showtunes 70.Trailer @@ -2254,4 +2254,4 @@ Email: johan@id3.org

- \ No newline at end of file + diff -Naur id3lib-3.8.3.orig//doc/id3v2.3.0.txt id3lib-3.8.3//doc/id3v2.3.0.txt --- id3lib-3.8.3.orig//doc/id3v2.3.0.txt 2010-06-08 05:21:47.860810639 +0200 +++ id3lib-3.8.3//doc/id3v2.3.0.txt 2010-06-08 05:21:05.374811307 +0200 @@ -1929,7 +1929,7 @@ 64.Native American 65.Cabaret 66.New Wave - 67.Psychadelic + 67.Psychedelic 68.Rave 69.Showtunes 70.Trailer diff -Naur id3lib-3.8.3.orig//id3com/id3com.idl id3lib-3.8.3//id3com/id3com.idl --- id3lib-3.8.3.orig//id3com/id3com.idl 2010-06-08 05:21:47.818060988 +0200 +++ id3lib-3.8.3//id3com/id3com.idl 2010-06-08 05:21:05.355061546 +0200 @@ -179,7 +179,7 @@ /* USER */ ID3_TERMSOFUSE, /**< Terms of use */ /* USLT */ ID3_UNSYNCEDLYRICS, /**< Unsynchronized lyric/text transcription */ /* WCOM */ ID3_WWWCOMMERCIALINFO, /**< Commercial information */ - /* WCOP */ ID3_WWWCOPYRIGHT, /**< Copyright/Legal infromation */ + /* WCOP */ ID3_WWWCOPYRIGHT, /**< Copyright/Legal information */ /* WOAF */ ID3_WWWAUDIOFILE, /**< Official audio file webpage */ /* WOAR */ ID3_WWWARTIST, /**< Official artist/performer webpage */ /* WOAS */ ID3_WWWAUDIOSOURCE, /**< Official audio source webpage */ diff -Naur id3lib-3.8.3.orig//include/id3/globals.h id3lib-3.8.3//include/id3/globals.h --- id3lib-3.8.3.orig//include/id3/globals.h 2010-06-08 05:21:47.818060988 +0200 +++ id3lib-3.8.3//include/id3/globals.h 2010-06-08 05:22:27.395811102 +0200 @@ -313,7 +313,7 @@ /* USER */ ID3FID_TERMSOFUSE, /**< Terms of use */ /* USLT */ ID3FID_UNSYNCEDLYRICS, /**< Unsynchronized lyric/text transcription */ /* WCOM */ ID3FID_WWWCOMMERCIALINFO, /**< Commercial information */ - /* WCOP */ ID3FID_WWWCOPYRIGHT, /**< Copyright/Legal infromation */ + /* WCOP */ ID3FID_WWWCOPYRIGHT, /**< Copyright/Legal information */ /* WOAF */ ID3FID_WWWAUDIOFILE, /**< Official audio file webpage */ /* WOAR */ ID3FID_WWWARTIST, /**< Official artist/performer webpage */ /* WOAS */ ID3FID_WWWAUDIOSOURCE, /**< Official audio source webpage */ @@ -608,7 +608,7 @@ "Native American", //64 "Cabaret", //65 "New Wave", //66 - "Psychadelic", //67 + "Psychedelic", //67 "Rave", //68 "Showtunes", //69 "Trailer", //70 @@ -686,7 +686,7 @@ "Christian Rock ", //141 "Merengue", //142 "Salsa", //143 - "Trash Metal", //144 + "Thrash Metal", //144 "Anime", //145 "JPop", //146 "Synthpop" //147 diff -Naur id3lib-3.8.3.orig//src/field.cpp id3lib-3.8.3//src/field.cpp --- id3lib-3.8.3.orig//src/field.cpp 2010-06-08 05:21:47.818060988 +0200 +++ id3lib-3.8.3//src/field.cpp 2010-06-08 05:21:05.373811128 +0200 @@ -719,7 +719,7 @@ // USER ID3FID_TERMSOFUSE Terms of use // USLT ULT ID3FID_UNSYNCEDLYRICS Unsynchronized lyric/text transcription // WCOM WCM ID3FID_WWWCOMMERCIALINFO Commercial information -// WCOP WCM ID3FID_WWWCOPYRIGHT Copyright/Legal infromation +// WCOP WCM ID3FID_WWWCOPYRIGHT Copyright/Legal information // WOAF WCP ID3FID_WWWAUDIOFILE Official audio file webpage // WOAR WAF ID3FID_WWWARTIST Official artist/performer webpage // WOAS WAR ID3FID_WWWAUDIOSOURCE Official audio source webpage @@ -813,7 +813,7 @@ {ID3FID_TERMSOFUSE, "" , "USER", false, false, ID3FD_TermsOfUse, "Terms of use"}, {ID3FID_UNSYNCEDLYRICS, "ULT", "USLT", false, false, ID3FD_GeneralText, "Unsynchronized lyric/text transcription"}, {ID3FID_WWWCOMMERCIALINFO, "WCM", "WCOM", false, false, ID3FD_URL, "Commercial information"}, - {ID3FID_WWWCOPYRIGHT, "WCP", "WCOP", false, false, ID3FD_URL, "Copyright/Legal infromation"}, + {ID3FID_WWWCOPYRIGHT, "WCP", "WCOP", false, false, ID3FD_URL, "Copyright/Legal information"}, {ID3FID_WWWAUDIOFILE, "WAF", "WOAF", false, false, ID3FD_URL, "Official audio file webpage"}, {ID3FID_WWWARTIST, "WAR", "WOAR", false, false, ID3FD_URL, "Official artist/performer webpage"}, {ID3FID_WWWAUDIOSOURCE, "WAS", "WOAS", false, false, ID3FD_URL, "Official audio source webpage"}, debian/patches/60-id3lib-missing-nullpointer-check.patch0000644000000000000000000000042111345437625020331 0ustar This patch adds a check for a null pointer --- a/src/header_tag.cpp +++ b/src/header_tag.cpp @@ -54,7 +54,7 @@ { size_t bytesUsed = ID3_TagHeader::SIZE; - if (_info->is_extended) + if (_info && _info->is_extended) { bytesUsed += _info->extended_bytes; } debian/patches/60-add-c-wrapper-functions.patch0000644000000000000000000000354711320552417016526 0ustar This patch adds C wrapper functions for field encoding. It was first introduced in version 3.8.3-8 and fixes http://bugs.debian.org/281292 --- a/include/id3.h +++ b/include/id3.h @@ -104,6 +104,9 @@ ID3_C_EXPORT void CCONV ID3Field_GetBINARY (const ID3Field *field, uchar *buffer, size_t buffLength); ID3_C_EXPORT void CCONV ID3Field_FromFile (ID3Field *field, const char *fileName); ID3_C_EXPORT void CCONV ID3Field_ToFile (const ID3Field *field, const char *fileName); + ID3_C_EXPORT bool CCONV ID3Field_SetEncoding (ID3Field *field, ID3_TextEnc enc); + ID3_C_EXPORT ID3_TextEnc CCONV ID3Field_GetEncoding (const ID3Field *field); + ID3_C_EXPORT bool CCONV ID3Field_IsEncodable (const ID3Field *field); /* field-info wrappers */ ID3_C_EXPORT char* CCONV ID3FrameInfo_ShortName (ID3_FrameID frameid); --- a/src/c_wrapper.cpp +++ b/src/c_wrapper.cpp @@ -681,6 +681,39 @@ } } + ID3_C_EXPORT bool CCONV + ID3Field_SetEncoding(ID3Field *field, ID3_TextEnc enc) + { + bool changed = false; + if (field) + { + ID3_CATCH(changed = reinterpret_cast(field)->SetEncoding(enc)); + } + return changed; + } + + ID3_C_EXPORT ID3_TextEnc CCONV + ID3Field_GetEncoding(const ID3Field *field) + { + ID3_TextEnc enc = ID3TE_NONE; + if (field) + { + ID3_CATCH(enc = reinterpret_cast(field)->GetEncoding()); + } + return enc; + } + + ID3_C_EXPORT bool CCONV + ID3Field_IsEncodable(const ID3Field *field) + { + bool isEncodable = false; + if (field) + { + ID3_CATCH(isEncodable = reinterpret_cast(field)->IsEncodable()); + } + return isEncodable; + } + #ifdef __cplusplus } #endif /* __cplusplus */ debian/patches/05-create-m4-directory.patch0000644000000000000000000000041311345437277015656 0ustar Create a local m4 subdirectory --- a/Makefile.am +++ b/Makefile.am @@ -12,6 +12,8 @@ # require automake 1.5 AUTOMAKE_OPTIONS = 1.5 +ACLOCAL_AMFLAGS = -I m4 + EXTRA_DIST = \ HISTORY \ config.h.win32 \ debian/patches/10-foo-with-configure.in.patch0000644000000000000000000000134711304123371016174 0ustar --- a/configure.in +++ b/configure.in @@ -17,6 +17,8 @@ # init autoconf (and check for presence fo reconf) AC_INIT(reconf) +AC_CONFIG_MACRO_DIR([m4]) + ID3LIB_NAME=id3lib dnl The following has been adapted from glib (http://www.gtk.org) @@ -87,14 +89,14 @@ AM_INIT_AUTOMAKE($PACKAGE,$VERSION) +dnl Initialize maintainer mode +AM_MAINTAINER_MODE + AC_ISC_POSIX dnl Initialize libtool AM_PROG_LIBTOOL -dnl Initialize maintainer mode -AM_MAINTAINER_MODE - #AC_CANONICAL_HOST dnl figure debugging default, prior to $ac_help setup @@ -227,6 +229,7 @@ ) AC_CHECK_HEADERS( \ string \ + iomanip.h \ ,,AC_MSG_ERROR([Missing a vital header file for id3lib]) ) debian/source/0000755000000000000000000000000011741433264010473 5ustar debian/source/format0000644000000000000000000000001411310030671011664 0ustar 3.0 (quilt) debian/libid3-doc.docs0000644000000000000000000000006511345452171011755 0ustar doc/api/ doc/index.html doc/id3v2.gif doc/fillpx.gif debian/libid3-tools.install0000644000000000000000000000010011350737616013062 0ustar usr/bin/id3convert usr/bin/id3cp usr/bin/id3info usr/bin/id3tag debian/rules0000755000000000000000000000141211741427271010252 0ustar #!/usr/bin/make -f %: dh $@ # regenerate auto* stuff override_dh_auto_configure: libtoolize -fc aclocal autoconf automake --add-missing --copy # Enable hardened build flags through dpkg-buildflags dh_auto_configure -- $(shell dpkg-buildflags --export=configure) # remove prebuilt config.{sub,guess} override_dh_clean: dh_clean rm -f config.sub config.guess rm -rf doc/api/ # clean out dependency_libs in the la-file override_dh_install: sed -i 's/^dependency_libs/#dependency_libs/g' \ debian/tmp/usr/lib/libid3.la dh_install # only build the docs for binary and binary-indep builds, not for binary-arch # in order not to waste buildd resources docs: cd doc && doxygen rm -f doc/api/jquery.js binary-indep: docs dh binary-indep binary: docs dh binary debian/compat0000644000000000000000000000000211242671061010364 0ustar 7 debian/changelog0000644000000000000000000002243511741432175011053 0ustar id3lib3.8.3 (3.8.3-15) unstable; urgency=low * debian/rules: Use dpkg-buildflags closes: #656272 * debian/control: Update Standards-Version to 3.9.2 -- Stefan Ott Thu, 12 Apr 2012 03:21:14 +0200 id3lib3.8.3 (3.8.3-14) unstable; urgency=low * debian/patches/61-fix_vbr_stack_smash.patch: Fix crashes when reading VBR MP3 file closes: #608612 * debian/control: - Update Standards-Version to 3.9.2 - Replaced Conflicts with Breaks - Slightly rephrased the package description * debian/rules: - Do not install jquery.js (we don't use it anyway) - Clean out dependency_libs in the la-file -- Stefan Ott Thu, 12 May 2011 04:40:22 +0200 id3lib3.8.3 (3.8.3-13) unstable; urgency=low * debian/patches/60-spelling.patch: Fix spelling of "Thrash" closes: #583812 -- Stefan Ott Tue, 08 Jun 2010 05:29:45 +0200 id3lib3.8.3 (3.8.3-12) unstable; urgency=low * debian/patches/60-spelling.patch: Fixed spelling of 'Psychedelic' to prevent lintian warnings in packages built against id3lib -- Stefan Ott Sun, 09 May 2010 05:59:56 +0200 id3lib3.8.3 (3.8.3-11) unstable; urgency=low * debian/control: - Build-depend on automake instead of automake1.7 closes: #573046 - Build-depend-indep on doxygen - Update Standards-Version to 3.8.4, no changes needed - New libid3-doc package closes: #278503, #424959, #516500 - New libid3-tools package, move binary utilities there closes: #565363 - libid3-3.8.3-dev now recommends libid3-tools * debian/rules: - Build API documentation with doxygen - Do proper cleanup to prevent FTBFS when building several times in a row * debian/patches: - Add missing descriptions to some patches - Fix typo in 20-create-manpages.patch -- Stefan Ott Sun, 21 Mar 2010 18:41:21 +0100 id3lib3.8.3 (3.8.3-10) unstable; urgency=low * debian/rules: Regenerate more auto* files closes: #560312, #561642 * Fix typo in 60-add-c-wrapper-functions.patch file name * debian/changelog: Fix old changelog entry * Add patch to fix minor spelling issues * Add descriptions to some of the patches -- Stefan Ott Tue, 05 Jan 2010 07:12:18 +0100 id3lib3.8.3 (3.8.3-9) unstable; urgency=low * debian/control: - New maintainer closes: #527479 - Upgrade debhelper build-dependency to version 7.0.50 - Slightly rephrase description synopsis - Add homepage field - Add Vcs-* fields - Add DM-Upload-Allowed field to allow maintainer uploads * debian/compat: - Bump debhelper compatibility level to version 7 * debian/rules: - Switch to debhelper 7 * Add patch to fix 'make check' * Add lintian override for package-name-doesnt-match-sonames -- Stefan Ott Thu, 10 Dec 2009 01:10:30 +0100 id3lib3.8.3 (3.8.3-8) unstable; urgency=low * QA upload. * Setting maintainers to the QA group. * Build-depend on unversioned automake. * Change to source "3.0 (quilt)". * Avoid FTBFS with a fresh autotools run. (Closes: #340365, #528509). * debian/rules: + remove commented lines. + include a configure target and separate it from the build target. + wrap the configure call. + removed some auto-generated files. * debian/control: + add misc-depends to control files. + make debhelper dependency versioned. + remove duplication of section field. * include watch file. * Update Standards-Version to 3.8.3, with no extra changes needed (really). * Fix crashes in ID3_TagHeader::Size(). Tks Brian Murray, Thomas Eschenbacher. (Closes: #540548, LP: #399423). * Move the utilities from the -dev package to the library package. (Closes: #377308) * Include the list of cli in the long description of the non -dev package. (Closes: #497991, #446320). * Also move their manpages. * Add patch from Javier Kohen to provide C wrapper functions to the library. (Closes: #281292) * A previous patch (from 3.8.3-6) already Closes: #276673. -- Rogério Brito Sat, 28 Nov 2009 05:36:53 -0200 id3lib3.8.3 (3.8.3-7.2) unstable; urgency=low * Non-maintainer upload. * Fix some accidental dropping of files (closes: #474987) -- Stephen Gran Tue, 08 Apr 2008 13:06:05 +0100 id3lib3.8.3 (3.8.3-7.1) unstable; urgency=low * Non-maintainer upload. * Fix FTBFS with gcc-4.3 (closes: #417062) * Lintian warnigns repaired: - Update DH_COMPAT from, er, 1 - Don't ignore make clean failures - Add link to LGPL-2 in common-licenses - Add © to debian/copyright - remove some broken non-roff form manpages -- Stephen Gran Sat, 05 Apr 2008 15:55:14 +0100 id3lib3.8.3 (3.8.3-7) unstable; urgency=high * SECURITY: Change #ifdef logic to select mkstemp() code instead of insecure tempfile creation code, and fix mkstemp() code to work with g++ 3.x, closes: #438540 -- Robert Woodcock Sat, 18 Aug 2007 15:52:52 -0700 id3lib3.8.3 (3.8.3-6) unstable; urgency=low * Apply UTF16 writing patch from Easytag project, closes: #384335 -- Robert Woodcock Sun, 12 Nov 2006 21:25:29 -0800 id3lib3.8.3 (3.8.3-5) unstable; urgency=low * Rebuild against g++4.0 4.0.2-4 for C++ library allocator change transition and rename library to libid3-3.8.3c2a, closes: #339186 -- Robert Woodcock Fri, 18 Nov 2005 11:33:52 -0800 id3lib3.8.3 (3.8.3-4.2) unstable; urgency=medium * Non-maintainer upload. * Medium-urgency upload for RC bugfix. * Rebuild against g++-4.0 for the C++ ABI transition, since libid3's headers export C++ interfaces as well as the C ones: rename libid3-3.8.3 to libid3-3.8.3c2 and conflict with libid3-3.8.3. -- Steve Langasek Sun, 17 Jul 2005 14:43:23 -0700 id3lib3.8.3 (3.8.3-4.1) unstable; urgency=medium * Non-maintainer upload. * Update libtool and autotools stuff to fix building on arm. This hopefully closes: #276825 -- Frank Lichtenheld Wed, 27 Oct 2004 01:33:02 +0200 id3lib3.8.3 (3.8.3-4) unstable; urgency=low * Rebuilt with gcc/g++ 3.3 (updated libgcc1 and zlib1g allows for building against 3.3 without breaking the ABI), closes: #236457 -- Robert Woodcock Fri, 9 Apr 2004 19:34:31 -0700 id3lib3.8.3 (3.8.3-3) unstable; urgency=low * Updated to libtool 1.5 and automake 1.7 (libtoolize --force --copy; aclocal; automake) so that id3lib is built with g++. Added a patch from Andreas Metzler to get autoconf to throw -lz in the linker command. Closes: #208672, #195987 -- Robert Woodcock Sun, 14 Sep 2003 08:26:55 -0700 id3lib3.8.3 (3.8.3-2) unstable; urgency=low * Added proper gcc build dependancies, closes: #195436 * Added manpages back in -- Robert Woodcock Thu, 12 Jun 2003 19:09:22 -0700 id3lib3.8.3 (3.8.3-1) unstable; urgency=low * New upstream version -- Robert Woodcock Wed, 12 Mar 2003 14:21:04 -0800 id3lib3.8.2 (3.8.2-3) unstable; urgency=low * Really a new libtool this time, I promise, I think... -- Robert Woodcock Thu, 6 Feb 2003 17:38:17 -0800 id3lib3.8.2 (3.8.2-2) unstable; urgency=low * New libtool, closes: #179669 -- Robert Woodcock Mon, 3 Feb 2003 19:30:23 -0800 id3lib3.8.2 (3.8.2-1) unstable; urgency=low * New upstream release, closes: #177456, #175469 -- Robert Woodcock Tue, 21 Jan 2003 11:49:01 -0800 id3lib3.8.0 (3.8.0-1) unstable; urgency=low * New upstream release -- Robert Woodcock Sat, 17 Aug 2002 18:34:08 -0700 id3lib3.8.0 (3.8+0pre2.20020627-1) unstable; urgency=low * New upstream version, closes: #138957 * From CVS. Huge thanks go out to Thijmen Klok for fixing id3lib's compile problems, closes: #125633 -- Robert Woodcock Thu, 27 Jun 2002 19:09:13 -0700 id3lib (3.7.13-5) unstable; urgency=low * Fixed typo in id3tag manpage -- Robert Woodcock Wed, 22 Aug 2001 16:22:42 -0700 id3lib (3.7.13-4) unstable; urgency=low * Updated libtool and build dependancies for id3lib and zlib, closes: #108523 -- Robert Woodcock Wed, 22 Aug 2001 16:22:41 -0700 id3lib (3.7.13-3) unstable; urgency=low * gcc 2.96 systems don't know what to do with strlen() without the prototype in string.h - added some includes, closes: #105687 * Uses AC_CHECK_HEADERS to check multiple headers in configure.in, closes: #93293 * Commented out bogus LF_HONOR_STD macro, closes: #93292 * debian/rules clean removes configure script and debian/rules build-stamp recreates it, closes: #93291 * Added token id3cp manpage and made other misc lintian cleanups. -- Robert Woodcock Sat, 21 Jul 2001 15:46:18 -0700 id3lib (3.7.13-2) unstable; urgency=low * cp /usr/share/libtool/config.* id3lib-3.7.13/{,popt/} to allow for compilation on hppa, closes: #104643 -- Robert Woodcock Fri, 13 Jul 2001 20:14:03 -0700 id3lib (3.7.13-1) unstable; urgency=low * New upstream version -- Robert Woodcock Mon, 16 Oct 2000 20:14:15 -0700 id3lib (3.7.8-1) unstable; urgency=low * Initial Release. -- Robert Woodcock Mon, 15 May 2000 21:19:01 -0700 Local variables: mode: debian-changelog End: debian/libid3-3.8.3c2a.lintian-overrides0000644000000000000000000000021211351452000014733 0ustar # See http://lists.debian.org/debian-devel-announce/2005/11/msg00010.html libid3-3.8.3c2a: package-name-doesnt-match-sonames libid3-3.8-3 debian/watch0000644000000000000000000000006611304110613010207 0ustar version=3 http://sf.net/id3lib/id3lib-(\d.+)\.tar\.gz debian/libid3-doc.doc-base0000644000000000000000000000112611345452503012500 0ustar Document: libid3 Title: Documentation for libid3 Author: Scott Thomas Haug Section: Programming Abstract: id3lib is an open-source, cross-platform software development library for reading, writing, and manipulating ID3v1 and ID3v2 tags. It is an on-going project whose primary goals are full compliance with the ID3v2 standard, portability across several platforms, and providing a powerful and feature-rich API with a highly stable and efficient implementation. Format: HTML Index: /usr/share/doc/libid3-doc/index.html Files: /usr/share/doc/libid3-doc/*.html /usr/share/doc/libid3-doc/api/* debian/copyright0000644000000000000000000000075011242666612011131 0ustar This package was debianized by Robert Woodcock on Mon, 15 May 2000 21:19:01 -0700. It was downloaded from http://download.sourceforge.net/id3lib/id3lib-3.7.8.tar.gz (see also http://id3lib.sourceforge.net/) Upstream Authors: Dirk Mahoney, Scott Thomas Haug Copyright: id3lib: a C++ library for creating and manipulating id3v1/v2 tags © 1999, 2000 Scott Thomas Haug On Debian systems, this file can be found at /usr/share/common-licenses/LGPL-2 debian/libid3-3.8.3-dev.install0000644000000000000000000000065311345434040013151 0ustar usr/include/id3/field.h usr/include/id3/id3lib_frame.h usr/include/id3/globals.h usr/include/id3/misc_support.h usr/include/id3/reader.h usr/include/id3/readers.h usr/include/id3/sized_types.h usr/include/id3/tag.h usr/include/id3/writer.h usr/include/id3/writers.h usr/include/id3/utils.h usr/include/id3/id3lib_streams.h usr/include/id3/id3lib_strings.h usr/include/id3.h usr/lib/libid3.so usr/lib/libid3.a usr/lib/libid3.la debian/control0000644000000000000000000000443511741432214010576 0ustar Source: id3lib3.8.3 Section: libs Priority: optional Maintainer: Stefan Ott Standards-Version: 3.9.3 Build-Depends: debhelper (>= 7.0.50), autoconf, automake, libtool, texinfo, zlib1g-dev Build-Depends-Indep: doxygen Homepage: http://id3lib.sourceforge.net/ Vcs-Svn: svn://svn.debian.org/collab-maint/deb-maint/id3lib/trunk Vcs-Browser: http://svn.debian.org/viewsvn/collab-maint/deb-maint/id3lib DM-Upload-Allowed: yes Package: libid3-3.8.3-dev Section: libdevel Architecture: any Depends: ${misc:Depends}, libid3-3.8.3c2a (= ${binary:Version}), zlib1g-dev Replaces: libid3-dev Provides: libid3-dev Conflicts: libid3-dev Recommends: libid3-tools Suggests: libid3-doc Description: ID3 Tag Library: Development Libraries and Header Files This package contains the headers that programmers will need to develop applications which will use id3lib, the software library for ID3v1 and ID3v2 tag manipulation. Package: libid3-doc Section: doc Architecture: all Depends: ${misc:Depends} Description: ID3 Tag Library: Documentation This package contains the documentation that programmers will need to develop applications which will use id3lib, the software library for ID3v1 and ID3v2 tag manipulation. Package: libid3-tools Section: sound Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Breaks: libid3-3.8.3c2a (<< 3.8.3-11), libid3-3.8.3-dev (<< 3.8.3-11) Replaces: libid3-3.8.3c2a (<< 3.8.3-11), libid3-3.8.3-dev (<< 3.8.3-11) Description: ID3 Tag Library: Utilities This package contains some utilities that belong with id3lib, the software library for ID3v1 and ID3v2 tag manipulation. The utilities are: id3cp, id3tag, id3convert, id3info. Package: libid3-3.8.3c2a Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Conflicts: libid3-3.8.3, libid3-3.8.3c2 Replaces: libid3-3.8.3, libid3-3.8.3c2 Suggests: libid3-tools Description: library for manipulating ID3v1 and ID3v2 tags This package provides a software library for manipulating ID3v1 and ID3v2 tags. It provides a convenient interface for software developers to include standards-compliant ID3v1/2 tagging capabilities in their applications. Features include identification of valid tags, automatic size conversions, (re)synchronisation of tag frames, seamless tag (de)compression, and optional padding facilities. debian/docs0000644000000000000000000000002111247401036010030 0ustar NEWS README TODO debian/libid3-3.8.3c2a.install0000644000000000000000000000006411345445655012775 0ustar usr/lib/libid3-3.8.so.3 usr/lib/libid3-3.8.so.3.0.0 debian/libid3-tools.manpages0000644000000000000000000000011011350737625013210 0ustar doc/man/id3cp.1 doc/man/id3tag.1 doc/man/id3convert.1 doc/man/id3info.1