1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-20 07:49:42 +01:00

* Support AIFF type audio files.

This commit is contained in:
Christian Muehlhaeuser 2012-06-01 10:26:22 +02:00
parent 72c6b009ff
commit c1885fa6d9
3 changed files with 33 additions and 21 deletions

View File

@ -106,15 +106,17 @@ MusicScanner::MusicScanner( const QStringList& dirs, quint32 bs )
, m_batchsize( bs )
, m_dirListerThreadController( 0 )
{
m_ext2mime.insert( "mp3", TomahawkUtils::extensionToMimetype( "mp3" ) );
m_ext2mime.insert( "ogg", TomahawkUtils::extensionToMimetype( "ogg" ) );
m_ext2mime.insert( "oga", TomahawkUtils::extensionToMimetype( "oga" ) );
m_ext2mime.insert( "mpc", TomahawkUtils::extensionToMimetype( "mpc" ) );
m_ext2mime.insert( "wma", TomahawkUtils::extensionToMimetype( "wma" ) );
m_ext2mime.insert( "aac", TomahawkUtils::extensionToMimetype( "aac" ) );
m_ext2mime.insert( "m4a", TomahawkUtils::extensionToMimetype( "m4a" ) );
m_ext2mime.insert( "mp4", TomahawkUtils::extensionToMimetype( "mp4" ) );
m_ext2mime.insert( "mp3", TomahawkUtils::extensionToMimetype( "mp3" ) );
m_ext2mime.insert( "ogg", TomahawkUtils::extensionToMimetype( "ogg" ) );
m_ext2mime.insert( "oga", TomahawkUtils::extensionToMimetype( "oga" ) );
m_ext2mime.insert( "mpc", TomahawkUtils::extensionToMimetype( "mpc" ) );
m_ext2mime.insert( "wma", TomahawkUtils::extensionToMimetype( "wma" ) );
m_ext2mime.insert( "aac", TomahawkUtils::extensionToMimetype( "aac" ) );
m_ext2mime.insert( "m4a", TomahawkUtils::extensionToMimetype( "m4a" ) );
m_ext2mime.insert( "mp4", TomahawkUtils::extensionToMimetype( "mp4" ) );
m_ext2mime.insert( "flac", TomahawkUtils::extensionToMimetype( "flac" ) );
m_ext2mime.insert( "aiff", TomahawkUtils::extensionToMimetype( "aiff" ) );
m_ext2mime.insert( "aif", TomahawkUtils::extensionToMimetype( "aif" ) );
}
@ -199,18 +201,16 @@ MusicScanner::listerFinished()
foreach( const QString& key, m_filemtimes.keys() )
m_filesToDelete << m_filemtimes[ key ].keys().first();
tDebug() << "Lister finished: to delete:" << m_filesToDelete;
tDebug( LOGINFO ) << "Scanning complete, saving to database. ( deleted" << m_filesToDelete.count() << "- scanned" << m_scanned << "- skipped" << m_skipped << ")";
tDebug( LOGEXTRA ) << "Skipped the following files (no tags / no valid audio):";
foreach ( const QString& s, m_skippedFiles )
tDebug( LOGEXTRA ) << s;
if ( m_filesToDelete.length() || m_scannedfiles.length() )
{
commitBatch( m_scannedfiles, m_filesToDelete );
m_scannedfiles.clear();
m_filesToDelete.clear();
tDebug( LOGINFO ) << "Scanning complete, saving to database. ( scanned" << m_scanned << "skipped" << m_skipped << ")";
tDebug( LOGEXTRA ) << "Skipped the following files (no tags / no valid audio):";
foreach ( const QString& s, m_skippedFiles )
tDebug( LOGEXTRA ) << s;
}
else
cleanup();
@ -335,9 +335,8 @@ MusicScanner::readFile( const QFileInfo& fi )
int bitrate = 0;
int duration = 0;
Tag *tag = Tag::fromFile( f );
if ( f.audioProperties() )
{
TagLib::AudioProperties *properties = f.audioProperties();
@ -345,10 +344,14 @@ MusicScanner::readFile( const QFileInfo& fi )
bitrate = properties->bitrate();
}
QString artist = tag->artist().trimmed();
QString album = tag->album().trimmed();
QString track = tag->title().trimmed();
if ( artist.isEmpty() || track.isEmpty() )
QString artist, album, track;
if ( tag )
{
artist = tag->artist().trimmed();
album = tag->album().trimmed();
track = tag->title().trimmed();
}
if ( !tag || artist.isEmpty() || track.isEmpty() )
{
// FIXME: do some clever filename guessing
m_skippedFiles << fi.canonicalFilePath();

View File

@ -34,6 +34,7 @@
#include <taglib/mp4file.h>
#include <taglib/mpcfile.h>
#include <taglib/asffile.h>
#include <taglib/aifffile.h>
#include <QStringList>
@ -56,6 +57,12 @@ namespace Tomahawk
if( file->tag() )
t = new OggTag( f.tag(), file->tag() );
}
else if( TagLib::RIFF::AIFF::File *file =
dynamic_cast< TagLib::RIFF::AIFF::File * >( f.file() ) )
{
if( file->tag() )
t = new ID3v2Tag( f.tag(), file->tag() );
}
else if( TagLib::Ogg::Speex::File *file =
dynamic_cast< TagLib::Ogg::Speex::File * >( f.file() ) )
{

View File

@ -303,12 +303,14 @@ extensionToMimetype( const QString& extension )
s_ext2mime.insert( "mp3", "audio/mpeg" );
s_ext2mime.insert( "ogg", "application/ogg" );
s_ext2mime.insert( "oga", "application/ogg" );
s_ext2mime.insert( "flac", "audio/flac" );
s_ext2mime.insert( "mpc", "audio/x-musepack" );
s_ext2mime.insert( "wma", "audio/x-ms-wma" );
s_ext2mime.insert( "aac", "audio/mp4" );
s_ext2mime.insert( "m4a", "audio/mp4" );
s_ext2mime.insert( "mp4", "audio/mp4" );
s_ext2mime.insert( "flac", "audio/flac" );
s_ext2mime.insert( "aiff", "audio/aiff" );
s_ext2mime.insert( "aif", "audio/aiff" );
}
return s_ext2mime.value( extension, "unknown" );