#include <id3v2tag.h>
#include <xiphcomment.h>
+#include <apefile.h>
#include <flacfile.h>
#include <mpcfile.h>
#include <mpegfile.h>
// Try now to read special tags
- if( FLAC::File* flac = dynamic_cast<FLAC::File*>(f.file()) )
+ if( APE::File* ape = dynamic_cast<APE::File*>(f.file()) )
+ {
+ if( ape->APETag() )
+ ReadMetaFromAPE( ape->APETag(), p_demux_meta, p_meta );
+ }
+ else if( FLAC::File* flac = dynamic_cast<FLAC::File*>(f.file()) )
{
if( flac->ID3v2Tag() )
ReadMetaFromId3v2( flac->ID3v2Tag(), p_demux_meta, p_meta );
// Try now to write special tags
- if( FLAC::File* flac = dynamic_cast<FLAC::File*>(f.file()) )
+ if( APE::File* ape = dynamic_cast<APE::File*>(f.file()) )
+ {
+ if( ape->APETag() )
+ WriteMetaToAPE( ape->APETag(), p_item );
+ }
+ else if( FLAC::File* flac = dynamic_cast<FLAC::File*>(f.file()) )
{
if( flac->ID3v2Tag() )
WriteMetaToId3v2( flac->ID3v2Tag(), p_item );