Unified dictionary-based tag interface #23

Merged
merged 44 commits into from Mar 17, 2012
Commits on Aug 26, 2011
  1. Some preliminary work for unified dictionary tag interface support.

    Michael Helmling
    Michael Helmling committed Aug 26, 2011
    - toDict() and fromDict() for XiphComments
    - toDict() for ID3v2 Tags
  2. More support for the unified dictionary interface.

    Michael Helmling
    Michael Helmling committed Aug 26, 2011
    Addded fromDict() function to ID3v2Tag. Added fromDict() and
    toDict() functions to the TagUnion class (uses the first non-empty tag).
    Added fromDict() and toDict() functions for the generic Tag class, only
    handling common tags without duplicates. Addded preliminary mp3 test
    case. Python3 bindings now available on my github site.
Commits on Aug 27, 2011
  1. Added toDict and fromDict methods for APE tags.

    Michael Helmling
    Michael Helmling committed Aug 27, 2011
Commits on Aug 28, 2011
  1. Made im/export functions nonvirtual. Added similar functions to File and

    Michael Helmling
    Michael Helmling committed Aug 28, 2011
    its subclasses. TagLib::File contains a bunch of dynamic_casts to call
    the correct specializations.
Commits on Sep 1, 2011
  1. Merge remote-tracking branch 'official/master'

    Michael Helmling
    Michael Helmling committed Sep 1, 2011
Commits on Sep 11, 2011
  1. Splitted ID3v2Tag::toDict() into several functions.

    Michael Helmling
    Michael Helmling committed Sep 11, 2011
    This should simplify future transition to virtual functions.
  2. Restructured and simplified ID3v2Tag::fromDict().

    Michael Helmling
    Michael Helmling committed Sep 11, 2011
Commits on Sep 12, 2011
  1. Further cleanup and simplification in id3v2dicttools

    Michael Helmling
    Michael Helmling committed Sep 12, 2011
Commits on Oct 30, 2011
  1. Merge remote-tracking branch 'official/master'

    Michael Helmling
    Michael Helmling committed Oct 30, 2011
Commits on Nov 2, 2011
  1. Implemented dict interface for more formats.

    Michael Helmling
    Michael Helmling committed Nov 2, 2011
    Now supported: MOD files (IT, MOD, S3M, XM), RIFF files
    (AIFF, WAV), TrueAudio, WavPack.
Commits on Jan 1, 2012
  1. Added tests and information about ignored id3 frames.

    Michael Helmling
    Michael Helmling committed Jan 1, 2012
    The ID3v2::toDict() function now has an optional
    StringList* argument which will contain information
    about frames that could not be converted to the dict
    interface.
    There are some dict tests for APE and FLAC now, and the
    ID3v2 test was enlarged.
Commits on Jan 4, 2012
  1. Merge remote-tracking branch 'official/master'

    Michael Helmling
    Michael Helmling committed Jan 4, 2012
Commits on Jan 14, 2012
  1. Merge remote-tracking branch 'official/master'

    Michael Helmling
    Michael Helmling committed Jan 14, 2012
  2. Implemented the most easy comments on the pull request.

    Michael Helmling
    Michael Helmling committed Jan 14, 2012
Commits on Jan 16, 2012
  1. Basic implementation of a PropertyMap.

    Michael Helmling
    Michael Helmling committed Jan 16, 2012
    Implemented key/valuelist property map with
    case-insensitive ASCII keys and StringList values.
    
    Todo:
    - subclass StringList to add flags indicating whether a value could
    be written to the specific file format
    - add member attribute indicating list of frames that could not be
    parsed into the PropertyMap representation.
Commits on Jan 17, 2012
  1. Add unsupportedData() to PropertyMap, simplified [] behavior.

    Michael Helmling
    Michael Helmling committed Jan 17, 2012
Commits on Jan 21, 2012
  1. Migration to new PropertyMap ... done ape to mod.

    Michael Helmling
    Michael Helmling committed Jan 21, 2012
  2. Started to work on ID3v2.

    Michael Helmling
    Michael Helmling committed Jan 21, 2012
Commits on Jan 22, 2012
  1. Implemented asProperties() in all relevant textual frames.

    Michael Helmling
    Michael Helmling committed Jan 22, 2012
  2. More progress in ID3 ... setProperties() will get messy :(

    Michael Helmling
    Michael Helmling committed Jan 22, 2012
Commits on Feb 14, 2012
  1. ID3 interface complete; vorbis done; wav done

    Michael Helmling
    Michael Helmling committed Feb 14, 2012
  2. Ported s3m; removed old id3v2dicttools.

    Michael Helmling
    Michael Helmling committed Feb 14, 2012
  3. Ported trueaudio.

    Michael Helmling
    Michael Helmling committed Feb 14, 2012
  4. Ported wavpack.

    Michael Helmling
    Michael Helmling committed Feb 14, 2012
  5. Ported xm.

    Michael Helmling
    Michael Helmling committed Feb 14, 2012
  6. fixed lots of bugs found by 'make'

    Michael Helmling
    Michael Helmling committed Feb 14, 2012
Commits on Feb 15, 2012
  1. Added lots of missing includes

    Michael Helmling
    Michael Helmling committed Feb 15, 2012
  2. Fixed id3v2 test

    Michael Helmling
    Michael Helmling committed Feb 15, 2012
  3. fixed tests

    Michael Helmling
    Michael Helmling committed Feb 15, 2012
Commits on Feb 19, 2012
  1. Added some functions, started to fix bugs.

    Michael Helmling
    Michael Helmling committed Feb 19, 2012
  2. fixed bugs preventing tests from running

    Michael Helmling
    Michael Helmling committed Feb 19, 2012
  3. removed debug messages

    Michael Helmling
    Michael Helmling committed Feb 19, 2012
Commits on Feb 25, 2012
  1. added APE tag PropertyMap test

    Michael Helmling
    Michael Helmling committed Feb 25, 2012
  2. Moved APE test to correct place; added MOD tag test.

    Michael Helmling
    Michael Helmling committed Feb 25, 2012
  3. Merge remote-tracking branch 'official/master'

    Michael Helmling
    Michael Helmling committed Feb 25, 2012
  4. some cosmetic changes

    Michael Helmling
    Michael Helmling committed Feb 25, 2012
  5. Added ID3v2 PropertyMap interface documentation.

    Michael Helmling
    Michael Helmling committed Feb 25, 2012
Commits on Feb 26, 2012
  1. remove Tests/Examples build from CMakeLists

    Michael Helmling
    Michael Helmling committed Feb 26, 2012
  2. Fix USLT frame creation in Frame::createTextualFrame()

    Michael Helmling
    Michael Helmling committed Feb 26, 2012
  3. Fixed identation

    Michael Helmling
    Michael Helmling committed Feb 26, 2012
  4. Add support for Unknown TXXX frames.

    Michael Helmling
    Michael Helmling committed Feb 26, 2012
  5. Removed quodlibet special case handling

    Michael Helmling
    Michael Helmling committed Feb 26, 2012
  6. Fixed handling of UnknownFrames in ID3v2.

    Michael Helmling
    Michael Helmling committed Feb 26, 2012
    - If an unknown frame with id "XXXX" occurs, an entry
    "UNKNOWN/XXXX" is added to unsupportedData().
    The removeUnsupportedProperties() method in turn
    removes all unknown frames with id "XXXX" if it
    encounters a string "UNKNOWN/XXXX" in the given list.
    
    - Implemented findByDescription() to UnsynchronizedLyricsFrame
    in order to support removal of lyrics frames with unsupported
    keys.
    
    - Adapted id3v2 test case to new QuodLibet policy.