./audio/taglib, Library for accessing id tags in various media files

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.0, Package name: taglib-2.0, Maintainer: pkgsrc-users

TagLib is a library for reading and editing the meta-data of several popular
audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg
Vorbis comments and ID3 tags and Vorbis comments in FLAC files.


Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 1396.42 KB

Version history: (Expand)


CVS history: (Expand)


   2024-03-11 10:11:01 by Jonathan Perkin | Files touched by this commit (2)
Log message:
taglib: Avoid offset_t conflict on illumos.
   2024-01-28 14:24:37 by Thomas Klausner | Files touched by this commit (35)
Log message:
*: recursive bump for taglib 2
   2024-01-28 14:23:46 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
taglib: update to 2.0.

TagLib 2.0 (Jan 24, 2024)
=========================

 * New major version, binary incompatible, but source-compatible with the
   latest 1.x release if no deprecated features are used.
 * Requires a C++17 compiler and uses features of C++17.
 * Major code cleanup, fixed warnings issued by compilers and static analyzers.
 * Made methods virtual which should have been virtual but could not be
   changed to keep binary compatibility, remove related workarounds.
 * Removed deprecated functions:
   - APE::Item::Item(const String &, const String &)
   - APE::Item::toStringList(): Use values()
   - APE::Item::value(): Use binaryData()
   - ASF::Properties::setLength()
   - ByteVector::checksum()
   - ByteVector::isNull(): Use isEmpty()
   - ByteVector::null
   - FLAC::File::setID3v2FrameFactory()
   - FLAC::File::streamInfoData()
   - FLAC::File::streamLength()
   - FLAC::Properties::Properties(File *, ReadStyle)
   - FLAC::Properties::sampleWidth(): Use bitsPerSample()
   - File::isReadable(): Use system functions
   - File::isWritable(): Use system functions
   - FileName::str()
   - FileRef::create(): Use constructor
   - MP4::Tag::itemListMap(): Use itemMap()
   - MPC::File::remove(): Use strip()
   - MPC::Properties::Properties(const ByteVector &, long, ReadStyle)
   - MPEG::File::save(int, ...): Use overload
   - MPEG::File::setID3v2FrameFactory(): Use constructor
   - MPEG::ID3v2::Frame::Header::Header(const ByteVector &, bool)
   - MPEG::ID3v2::Frame::Header::frameAlterPreservation(): Use
     fileAlterPreservation()
   - MPEG::ID3v2::Frame::Header::setData(const ByteVector &, bool)
   - MPEG::ID3v2::Frame::Header::size(unsigned int): Use size()
   - MPEG::ID3v2::Frame::Header::unsycronisation(): use unsynchronisation()
   - MPEG::ID3v2::Frame::checkEncoding(const StringList &, String::Type): Use
     checkTextEncoding(const StringList &, String::Type)
   - MPEG::ID3v2::Frame::headerSize(): Use Header::size()
   - MPEG::ID3v2::Frame::headerSize(unsigned int): Use
     Header::size(unsigned int)
   - MPEG::ID3v2::FrameFactory::createFrame(const ByteVector &, bool)
   - MPEG::ID3v2::FrameFactory::createFrame(const ByteVector &, unsigned int):
     Use createFrame(const ByteVector &, const Header *)
   - MPEG::ID3v2::RelativeVolumeFrame::channelType()
   - MPEG::ID3v2::RelativeVolumeFrame::peakVolume(): Use peakVolume(ChannelType)
   - MPEG::ID3v2::RelativeVolumeFrame::setChannelType()
   - MPEG::ID3v2::RelativeVolumeFrame::setPeakVolume(const PeakVolume &): Use
     setPeakVolume(const PeakVolume &, ChannelType)
   - MPEG::ID3v2::RelativeVolumeFrame::setVolumeAdjustment(float): Use
     setVolumeAdjustment(float, ChannelType)
   - MPEG::ID3v2::RelativeVolumeFrame::setVolumeAdjustmentIndex(short): Use
     setVolumeAdjustmentIndex(short, ChannelType)
   - MPEG::ID3v2::RelativeVolumeFrame::volumeAdjustment(): Use
     volumeAdjustment(ChannelType)
   - MPEG::ID3v2::RelativeVolumeFrame::volumeAdjustmentIndex(): Use
     volumeAdjustmentIndex(ChannelType)
   - MPEG::ID3v2::Tag::footer()
   - MPEG::ID3v2::Tag::render(int): Use render(Version)
   - MPEG::XingHeader::xingHeaderOffset()
   - Ogg::Page::getCopyWithNewPageSequenceNumber()
   - Ogg::XiphComment::removeField(): Use removeFields()
   - PropertyMap::unsupportedData(): Returns now const reference, use
     addUnsupportedData() to add keys
   - RIFF::AIFF::Properties::Properties(const ByteVector &, ReadStyle)
   - RIFF::AIFF::Properties::Properties(const ByteVector &, int, ReadStyle)
   - RIFF::AIFF::Properties::sampleWidth(): Use bitsPerSample()
   - RIFF::WAV::File::save(TagTypes, bool, int): Use
     save(TagTypes, StripTags, Version)
   - RIFF::WAV::File::tag(): Returns now a TagUnion, use ID3v2Tag() to get an
     ID3v2::Tag
   - String::isNull(): Use isEmpty()
   - String::null
   - TrueAudio::File::setID3v2FrameFactory(): Use constructor
   - WavPack::Properties::Properties(const ByteVector &, long, ReadStyle)
* Made methods const: Frame::Header::size(), Frame::headerSize(),
  MP4::Atom::findall(), MP4::Atoms::find(), MP4::Atoms::path().
* Made classes non-virtual: APE::Footer, APE::Item, ASF::Attribute,
  ASF::Picture, MP4::CoverArt, MP4::Item, ID3v2::ExtendedHeader, ID3v2::Footer,
  ID3v2::Header, MPEG::Header, MPEG::XingHeader, Ogg::Page, Ogg::PageHeader.
* Removed type definitions in TagLib namespace: wchar, uchar, ushort, uint,
  ulong, ulonglong, wstring: Use the standard types.
* Removed include file taglib_config.h and its defines TAGLIB_WITH_ASF,
  TAGLIB_WITH_MP4: They were always 1 since version 1.8.
* Behavioral changes:
   - The basic tag methods (e.g. genre()) separate multiple values with " / \ 
"
     instead of " ".
   - The stream operator for String uses UTF-8 instead of ISO-8859-1 encoding.
   - MP4 property ORIGINALDATE is mapped to \ 
"----:com.apple.iTunes:ORIGINALDATE"
     instead of "----:com.apple.iTunes:originaldate".
   - MP4 property ENCODEDBY is mapped to "©enc" instead of \ 
"©too", which is now
     mapped to ENCODING.
 * Unified interface for complex properties like pictures.
 * Simplified the unified properties interface by providing its methods on
   FileRef.
 * C bindings: Support for properties (taglib_property_...) and complex
   properties like cover art (taglib_complex_property_...), memory I/O streams.
 * Support for Direct Stream Digital (DSD) stream files (DSF) and interchange
   file format (DSDIFF, DFF), ADTS (AAC) files.
 * The runtime version can be queried.
 * Additional utility functions ByteVector::fromUShort(),
   ByteVector::fromULongLong(), ByteVector::toULongLong(),
   ByteVector::toULongLong(), List::sort().
 * Fixed List::setAutoDelete() affecting implicitly shared copies.
 * Build system: Direct support for CMake, find_package(TagLib) exports target
   TagLib::tag.
 * Build system: Fixed PackageConfig to support both relative and absolute paths.
 * Build system: utf8cpp is no longer included, it can be provided via a system
   package or a Git submodule.
 * ASF: Support additional properties ARTISTWEBPAGE, ENCODING, ENCODINGTIME,
   FILEWEBPAGE, INITIALKEY, ORIGINALALBUM, ORIGINALARTIST, ORIGINALFILENAME,
   ORIGINALLYRICIST.
 * ID3v2: Fixed extensibility of FrameFactory, use it also for WAV and AIFF
   files.
 * MP4: Support additional properties OWNER, RELEASEDATE.
 * MP4: Introduced ItemFactory allowing clients to support new atom types.
 * MP4: Detect duration from mvhd atom if not present in mdhd atom.
 * MP4: Fixed type of hdvd atom to be  integer instead of boolean.
 * MP4: Tolerate trailing garbage in M4A files.
 * MPC: Fixed content check in presence of an ID3v2 tag.
 * MPEG: Do not scan full file for ID3v2 tag when ReadStyle Fast is used.
 * RIFF: Support properties ALBUM, ARRANGER, ARTIST, ARTISTWEBPAGE, BPM,
   COMMENT, COMPOSER, COPYRIGHT, DATE, DISCSUBTITLE, ENCODEDBY, ENCODING,
   ENCODINGTIME, GENRE, ISRC, LABEL, LANGUAGE, LYRICIST, MEDIA, PERFORMER,
   RELEASECOUNTRY, REMIXER, TITLE, TRACKNUMBER.
 * WAV: Fixed crash with files having the "id3 " chunk as the only \ 
valid chunk.
 * Windows: Fixed support for files larger than 2GB.
   2023-07-20 23:20:32 by Nia Alarie | Files touched by this commit (1)
Log message:
taglib: Avoid forcing C++11 for ABI safety reasons of dependent packages.

This was originally introduced as a workaround to not require boost
atomic support, but now it prefers GCC's atomic extensions regardless
of what we do.
   2023-07-18 14:56:07 by Nia Alarie | Files touched by this commit (23)
Log message:
audio: Where possible, adapt packages to use USE_(CC|CXX)_FEATURES
   2023-07-04 15:09:09 by Adam Ciarcinski | Files touched by this commit (1)
Log message:
taglib: remove USE_LIBTOOL
   2023-07-04 11:35:36 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
taglib: updated to 1.13.1

TagLib 1.13.1 (Jul 1, 2023)
===========================
* Fixed parsing of TXXX frames without description.
* Detect MP4 atoms with invalid length or type.
* Do not miss ID3v2 frames when an extended header is present.
* Use property "DISCSUBTITLE" for ID3v2 "TSST" frame.
* Build system improvements: Use absolute path for macOS dylib install name,
  support --define-prefix when using pkg-config, fixed minimum required
  CppUnit version.
* Code clean up using clang-tidy.
   2023-01-24 19:36:36 by Thomas Klausner | Files touched by this commit (103)
Log message:
*: convert to cmake/build.mk