#include <tstring.h>
#include <tdebug.h>
+#include <tpropertymap.h>
#include "opusfile.h"
return d->comment;
}
+PropertyMap Opus::File::properties() const
+{
+ return d->comment->properties();
+}
+
+PropertyMap Opus::File::setProperties(const PropertyMap &properties)
+{
+ return d->comment->setProperties(properties);
+}
+
Opus::Properties *Opus::File::audioProperties() const
{
return d->properties;
*/
virtual Ogg::XiphComment *tag() const;
+ /*!
+ * Implements the unified property interface -- export function.
+ * This forwards directly to XiphComment::properties().
+ */
+ PropertyMap properties() const;
+
+ /*!
+ * Implements the unified tag dictionary interface -- import function.
+ * Like properties(), this is a forwarder to the file's XiphComment.
+ */
+ PropertyMap setProperties(const PropertyMap &);
+
/*!
* Returns the Opus::Properties for this file. If no audio properties
* were read then this will return a null pointer.
#include <tstring.h>
#include <tdebug.h>
+#include <tpropertymap.h>
#include "speexfile.h"
return d->comment;
}
+PropertyMap Speex::File::properties() const
+{
+ return d->comment->properties();
+}
+
+PropertyMap Speex::File::setProperties(const PropertyMap &properties)
+{
+ return d->comment->setProperties(properties);
+}
+
Speex::Properties *Speex::File::audioProperties() const
{
return d->properties;
*/
virtual Ogg::XiphComment *tag() const;
+ /*!
+ * Implements the unified property interface -- export function.
+ * This forwards directly to XiphComment::properties().
+ */
+ PropertyMap properties() const;
+
+ /*!
+ * Implements the unified tag dictionary interface -- import function.
+ * Like properties(), this is a forwarder to the file's XiphComment.
+ */
+ PropertyMap setProperties(const PropertyMap &);
+
/*!
* Returns the Speex::Properties for this file. If no audio properties
* were read then this will return a null pointer.
*/
virtual Properties *audioProperties() const;
+
+
virtual bool save();
private:
return d->tag->properties();
}
+void RIFF::AIFF::File::removeUnsupportedProperties(const StringList &unsupported)
+{
+ d->tag->removeUnsupportedProperties(unsupported);
+}
+
PropertyMap RIFF::AIFF::File::setProperties(const PropertyMap &properties)
{
return d->tag->setProperties(properties);
*/
PropertyMap properties() const;
+ void removeUnsupportedProperties(const StringList &properties);
+
/*!
* Implements the unified property interface -- import function.
* This method forwards to ID3v2::Tag::setProperties().
PropertyMap RIFF::WAV::File::properties() const
{
- return d->tag.properties();
+ return tag()->properties();
+}
+
+void RIFF::WAV::File::removeUnsupportedProperties(const StringList &unsupported)
+{
+ tag()->removeUnsupportedProperties(unsupported);
}
PropertyMap RIFF::WAV::File::setProperties(const PropertyMap &properties)
{
- return d->tag.setProperties(properties);
+ return tag()->setProperties(properties);
}
RIFF::WAV::Properties *RIFF::WAV::File::audioProperties() const
*/
PropertyMap properties() const;
+ void removeUnsupportedProperties(const StringList &properties);
+
/*!
* Implements the unified property interface -- import function.
* This method forwards to ID3v2::Tag::setProperties().
dynamic_cast<MPC::File* >(this)->removeUnsupportedProperties(properties);
else if(dynamic_cast<MPEG::File* >(this))
dynamic_cast<MPEG::File* >(this)->removeUnsupportedProperties(properties);
- else if(dynamic_cast<Ogg::FLAC::File* >(this))
- dynamic_cast<Ogg::FLAC::File* >(this)->removeUnsupportedProperties(properties);
- else if(dynamic_cast<Ogg::Speex::File* >(this))
- dynamic_cast<Ogg::Speex::File* >(this)->removeUnsupportedProperties(properties);
- else if(dynamic_cast<Ogg::Opus::File* >(this))
- dynamic_cast<Ogg::Opus::File* >(this)->removeUnsupportedProperties(properties);
else if(dynamic_cast<Ogg::Vorbis::File* >(this))
dynamic_cast<Ogg::Vorbis::File* >(this)->removeUnsupportedProperties(properties);
else if(dynamic_cast<RIFF::AIFF::File* >(this))
dynamic_cast<RIFF::AIFF::File* >(this)->removeUnsupportedProperties(properties);
else if(dynamic_cast<RIFF::WAV::File* >(this))
dynamic_cast<RIFF::WAV::File* >(this)->removeUnsupportedProperties(properties);
- else if(dynamic_cast<S3M::File* >(this))
- dynamic_cast<S3M::File* >(this)->removeUnsupportedProperties(properties);
else if(dynamic_cast<TrueAudio::File* >(this))
dynamic_cast<TrueAudio::File* >(this)->removeUnsupportedProperties(properties);
else if(dynamic_cast<WavPack::File* >(this))
dynamic_cast<WavPack::File* >(this)->removeUnsupportedProperties(properties);
- else if(dynamic_cast<XM::File* >(this))
- dynamic_cast<XM::File* >(this)->removeUnsupportedProperties(properties);
else if(dynamic_cast<MP4::File* >(this))
dynamic_cast<MP4::File* >(this)->removeUnsupportedProperties(properties);
else if(dynamic_cast<ASF::File* >(this))
return PropertyMap();
}
+void TrueAudio::File::removeUnsupportedProperties(const StringList &unsupported)
+{
+ if(d->hasID3v2)
+ d->tag.access<ID3v2::Tag>(TrueAudioID3v2Index, false)->removeUnsupportedProperties(unsupported);
+}
+
PropertyMap TrueAudio::File::setProperties(const PropertyMap &properties)
{
if(d->hasID3v1)
*/
PropertyMap setProperties(const PropertyMap &);
+ void removeUnsupportedProperties(const StringList &properties);
+
/*!
* Returns the TrueAudio::Properties for this file. If no audio properties
* were read then this will return a null pointer.
return PropertyMap();
}
+
+void WavPack::File::removeUnsupportedProperties(const StringList &unsupported)
+{
+ if(d->hasAPE)
+ d->tag.access<APE::Tag>(WavAPEIndex, false)->removeUnsupportedProperties(unsupported);
+}
+
+
PropertyMap WavPack::File::setProperties(const PropertyMap &properties)
{
if(d->hasID3v1)
*/
PropertyMap properties() const;
+ void removeUnsupportedProperties(const StringList &properties);
+
/*!
* Implements the unified property interface -- import function.
* Creates an APE tag if it does not exists and calls setProperties() on