Update for pull request #89: Change how setProperties() updates tags.

For file types supporting more than one tag format, setProperties() now always creates the most modern one. Deprecated tags are stripped.
This commit is contained in:
Michael Helmling
2012-12-20 17:28:50 +01:00
parent 6e3391a846
commit b14e6a3570
13 changed files with 43 additions and 49 deletions

View File

@ -119,12 +119,9 @@ PropertyMap WavPack::File::properties() const
PropertyMap WavPack::File::setProperties(const PropertyMap &properties)
{
PropertyMap result;
if(d->hasID3v1)
result = d->tag.access<ID3v1::Tag>(WavID3v1Index, false)->setProperties(properties);
if(d->hasAPE || !d->hasID3v1)
result = d->tag.access<APE::Tag>(WavAPEIndex, true)->setProperties(properties);
return result;
strip(ID3v1);
return d->tag.access<APE::Tag>(WavAPEIndex, true)->setProperties(properties);
}
WavPack::Properties *WavPack::File::audioProperties() const

View File

@ -118,8 +118,8 @@ namespace TagLib {
/*!
* Implements the unified property interface -- import function.
* As for the export, only one tag is taken into account. If the file
* has no tag at all, APE will be created.
* Creates an APE tag if it does not exists and calls setProperties() on
* that. Any existing ID3v1 tag will be removed.
*/
PropertyMap setProperties(const PropertyMap&);