From 489f0c707d070ad66860f36d9d212e007c83e051 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Fri, 7 Oct 2011 20:09:11 +0000 Subject: converter: added taglib support git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2384 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/General/converter/converter.cpp | 24 ++++++++++++++++++++++-- src/plugins/General/converter/converter.pro | 5 ++++- 2 files changed, 26 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/plugins/General/converter/converter.cpp b/src/plugins/General/converter/converter.cpp index 441b97e09..6ecb6667c 100644 --- a/src/plugins/General/converter/converter.cpp +++ b/src/plugins/General/converter/converter.cpp @@ -25,10 +25,12 @@ #include #include #include -#include -#include +#include +#include #include "converter.h" +#define QStringToTString_qt4(s) TagLib::String(s.toUtf8().constData(), TagLib::String::UTF8) + Converter::Converter(QObject *parent) : QThread(parent) {} @@ -137,6 +139,7 @@ void Converter::run() continue; } + QMap metadata = list[0]->metaData(); MetaDataFormatter formatter(pattern); QString desc = tr("Track: %1").arg(desc_formatter.parse(list[0]->metaData(), list[0]->length())); @@ -214,6 +217,23 @@ void Converter::run() else qDebug("Converter: task '%s' finished with success", qPrintable(preset["name"].toString())); m_mutex.unlock(); + + if(preset["tags"].toBool()) + { + qDebug("Converter: writing tags"); + TagLib::FileRef file(qPrintable(full_path)); + if(file.tag()) + { + file.tag()->setTitle(QStringToTString_qt4(metadata[Qmmp::TITLE])); + file.tag()->setArtist(QStringToTString_qt4(metadata[Qmmp::ARTIST])); + file.tag()->setAlbum(QStringToTString_qt4(metadata[Qmmp::ALBUM])); + file.tag()->setGenre(QStringToTString_qt4(metadata[Qmmp::GENRE])); + file.tag()->setComment(QStringToTString_qt4(metadata[Qmmp::COMMENT])); + file.tag()->setYear(metadata[Qmmp::YEAR].toUInt()); + file.tag()->setTrack(metadata[Qmmp::TRACK].toUInt()); + file.save(); + } + } } qDebug("Converter: thread finished"); } diff --git a/src/plugins/General/converter/converter.pro b/src/plugins/General/converter/converter.pro index c9588d508..66834b7ad 100644 --- a/src/plugins/General/converter/converter.pro +++ b/src/plugins/General/converter/converter.pro @@ -3,7 +3,8 @@ include(../../plugins.pri) INCLUDEPATH += ../../../../src CONFIG += release \ warn_on \ -plugin +plugin \ +link_pkgconfig TARGET =$$PLUGINS_PREFIX/General/converter unix:QMAKE_CLEAN = $$PLUGINS_PREFIX/General/libconverter.so @@ -13,6 +14,8 @@ TEMPLATE = lib unix:QMAKE_LIBDIR += ../../../../lib unix:LIBS += -lqmmpui -lqmmp +PKGCONFIG += taglib + win32:QMAKE_LIBDIR += ../../../../bin win32:LIBS += -lqmmpui0 -lqmmp0 -- cgit v1.2.3-13-gbd6f