[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/multimedia/amarok/src/collectionscanner
From:       Jeff Mitchell <kde-dev () emailgoeshere ! com>
Date:       2008-08-01 13:21:41
Message-ID: 1217596901.339099.24345.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 840674 by mitchell:

Port over one of the AFT helper methods


 M  +42 -0     CollectionScanner.cpp  
 M  +8 -0      CollectionScanner.h  


--- trunk/extragear/multimedia/amarok/src/collectionscanner/CollectionScanner.cpp \
#840673:840674 @@ -315,7 +315,49 @@
     }
 }
 
+const TagLib::ByteVector
+CollectionScanner::readUniqueIdHelper( TagLib::FileRef fileref ) const
+{
+    if ( TagLib::MPEG::File *file = dynamic_cast<TagLib::MPEG::File *>( \
fileref.file() ) ) +    {
+        if( file->ID3v2Tag() )
+            return file->ID3v2Tag()->render();
+        else if( file->ID3v1Tag() )
+            return file->ID3v1Tag()->render();
+        else if( file->APETag() )
+            return file->APETag()->render();
+    }
+    else if ( TagLib::Ogg::Vorbis::File *file = \
dynamic_cast<TagLib::Ogg::Vorbis::File *>( fileref.file() ) ) +    {
+        if( file->tag() )
+            return file->tag()->render();
+    }
+    else if ( TagLib::FLAC::File *file = dynamic_cast<TagLib::FLAC::File *>( \
fileref.file() ) ) +    {
+        if( file->ID3v2Tag() )
+            return file->ID3v2Tag()->render();
+        else if( file->ID3v1Tag() )
+            return file->ID3v1Tag()->render();
+        else if( file->xiphComment() )
+            return file->xiphComment()->render();
+    }
+    else if ( TagLib::Ogg::FLAC::File *file = dynamic_cast<TagLib::Ogg::FLAC::File \
*>( fileref.file() ) ) +    {
+        if( file->tag() )
+            return file->tag()->render();
+    }
+    else if ( TagLib::MPC::File *file = dynamic_cast<TagLib::MPC::File *>( \
fileref.file() ) ) +    {
+        if( file->ID3v1Tag() )
+            return file->ID3v1Tag()->render();
+        else if( file->APETag() )
+            return file->APETag()->render();
+    }
+    TagLib::ByteVector bv;
+    return bv;
+}
 
+
 AttributeHash
 CollectionScanner::readTags( const QString &path, TagLib::AudioProperties::ReadStyle \
readStyle )  {
--- trunk/extragear/multimedia/amarok/src/collectionscanner/CollectionScanner.h \
#840673:840674 @@ -35,6 +35,7 @@
 
 //Taglib includes..
 #include <audioproperties.h>
+#include <fileref.h>
 
 typedef QHash<QString, QString> AttributeHash;
 
@@ -75,6 +76,13 @@
     void scanFiles( const QStringList& entries );
 
     /**
+     * Get the render() of a tag from TagLib, if possible, to assist in AFT UID \
generation. +     * @fileref TagLib reference to the file.
+     * @return TagLib::ByteVector that contains the tag's render, if possible, and \
empty otherwise. +     */
+    const TagLib::ByteVector readUniqueIdHelper( TagLib::FileRef fileref ) const;
+
+    /**
      * Read metadata tags of a given file.
      * @track Track for the file.
      * @return QMap containing tags, or empty QMap on failure.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic