PropertyMap APE::File::setProperties(const PropertyMap &properties)
{
- if(d->hasAPE)
- return d->tag.access<APE::Tag>(ApeAPEIndex, false)->setProperties(properties);
- else if(d->hasID3v1)
- return d->tag.access<ID3v1::Tag>(ApeID3v1Index, false)->setProperties(properties);
- else
- return d->tag.access<APE::Tag>(ApeAPEIndex, true)->setProperties(properties);
+ PropertyMap result;
+ if(d->hasID3v1)
+ result = d->tag.access<ID3v1::Tag>(ApeID3v1Index, false)->setProperties(properties);
+ if(d->hasAPE || !d->hasID3v1)
+ result = d->tag.access<APE::Tag>(ApeAPEIndex, true)->setProperties(properties);
+ return result;
}
APE::Properties *APE::File::audioProperties() const
PropertyMap FLAC::File::setProperties(const PropertyMap &properties)
{
- if(d->hasXiphComment)
- return d->tag.access<Ogg::XiphComment>(FlacXiphIndex, false)->setProperties(properties);
- else if(d->hasID3v2)
- return d->tag.access<ID3v2::Tag>(FlacID3v2Index, false)->setProperties(properties);
- else if(d->hasID3v1)
- return d->tag.access<ID3v1::Tag>(FlacID3v1Index, false)->setProperties(properties);
- else
- return d->tag.access<Ogg::XiphComment>(FlacXiphIndex, true)->setProperties(properties);
+ PropertyMap result;
+ if(d->hasID3v1)
+ result = d->tag.access<ID3v1::Tag>(FlacID3v1Index, false)->setProperties(properties);
+ if(d->hasID3v2)
+ result = d->tag.access<ID3v2::Tag>(FlacID3v2Index, false)->setProperties(properties);
+ if(d->hasXiphComment || !(d->hasID3v1 || d->hasID3v2))
+ result = d->tag.access<Ogg::XiphComment>(FlacXiphIndex, true)->setProperties(properties);
+ return result;
}
FLAC::Properties *FLAC::File::audioProperties() const
PropertyMap MPC::File::setProperties(const PropertyMap &properties)
{
- if(d->hasAPE)
- return d->tag.access<APE::Tag>(MPCAPEIndex, false)->setProperties(properties);
- else if(d->hasID3v1)
- return d->tag.access<ID3v1::Tag>(MPCID3v1Index, false)->setProperties(properties);
- else
- return d->tag.access<APE::Tag>(APE, true)->setProperties(properties);
+ PropertyMap result;
+ if(d->hasID3v1)
+ result = d->tag.access<ID3v1::Tag>(MPCID3v1Index, false)->setProperties(properties);
+ if(d->hasAPE || !d->hasID3v1)
+ result = d->tag.access<APE::Tag>(MPCAPEIndex, true)->setProperties(properties);
+ return result;
}
-
MPC::Properties *MPC::File::audioProperties() const
{
return d->properties;
else if(d->hasID3v1)
d->tag.access<ID3v1::Tag>(ID3v1Index, false)->removeUnsupportedProperties(properties);
}
+
PropertyMap MPEG::File::setProperties(const PropertyMap &properties)
{
- if(d->hasID3v2)
- return d->tag.access<ID3v2::Tag>(ID3v2Index, false)->setProperties(properties);
- else if(d->hasAPE)
- return d->tag.access<APE::Tag>(APEIndex, false)->setProperties(properties);
- else if(d->hasID3v1)
- return d->tag.access<ID3v1::Tag>(ID3v1Index, false)->setProperties(properties);
- else
- return d->tag.access<ID3v2::Tag>(ID3v2Index, true)->setProperties(properties);
+ PropertyMap result;
+ if(d->hasID3v1)
+ result = d->tag.access<ID3v1::Tag>(ID3v1Index, false)->setProperties(properties);
+ if(d->hasAPE)
+ result = d->tag.access<APE::Tag>(APEIndex, false)->setProperties(properties);
+ if(d->hasID3v2 || !(d->hasID3v1 || d->hasAPE))
+ result = d->tag.access<ID3v2::Tag>(ID3v2Index, true)->setProperties(properties);
+ return result;
}
MPEG::Properties *MPEG::File::audioProperties() const
PropertyMap TrueAudio::File::setProperties(const PropertyMap &properties)
{
- if(d->hasID3v2)
- return d->tag.access<ID3v2::Tag>(TrueAudioID3v2Index, false)->setProperties(properties);
- else if(d->hasID3v1)
- return d->tag.access<ID3v1::Tag>(TrueAudioID3v1Index, false)->setProperties(properties);
- else
- return d->tag.access<ID3v2::Tag>(TrueAudioID3v2Index, true)->setProperties(properties);
+ PropertyMap result;
+ if(d->hasID3v1)
+ result = d->tag.access<ID3v1::Tag>(TrueAudioID3v1Index, false)->setProperties(properties);
+ if(d->hasID3v2 || !d->hasID3v1)
+ result =d->tag.access<ID3v2::Tag>(TrueAudioID3v2Index, true)->setProperties(properties);
+ return result;
}
TrueAudio::Properties *TrueAudio::File::audioProperties() const
PropertyMap WavPack::File::setProperties(const PropertyMap &properties)
{
- if(d->hasAPE)
- return d->tag.access<APE::Tag>(WavAPEIndex, false)->setProperties(properties);
- else if(d->hasID3v1)
- return d->tag.access<ID3v1::Tag>(WavID3v1Index, false)->setProperties(properties);
- else
- return d->tag.access<APE::Tag>(APE, true)->setProperties(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;
}
WavPack::Properties *WavPack::File::audioProperties() const