Merge remote branch 'maemo/master'
[someplayer] / src / tagresolver.cpp
index 9ab07a4..170296d 100644 (file)
@@ -18,8 +18,8 @@
  */
 
 #include "tagresolver.h"
-#include <QDebug>
 #include <QFile>
+#include <QFileInfo>
 #include <tag.h>
 #include <fileref.h>
 
@@ -46,7 +46,28 @@ void TagResolver::decode(QStringList files) {
                                        emit decoded(track);
                                }
                        }
+               } else { // workaround
+                       TrackMetadata meta;
+                       meta.setLength(0);
+                       QFileInfo fi(filename);
+                       meta.setArtist(fi.suffix().toUpper());
+                       meta.setTitle(fi.baseName());
+                       Track track(0, meta, filename);
+                       emit decoded(track);
                }
        }
        emit done();
 }
+
+void TagResolver::updateTags(Track track) {
+       TagLib::FileRef file_ref(QFile::encodeName(track.source()).data());
+       if (!file_ref.isNull()) {
+               TagLib::Tag *tag = file_ref.tag();
+               if (NULL != tag) {
+                       tag->setArtist(TagLib::String(track.metadata().artist().toStdWString()));
+                       tag->setAlbum(TagLib::String(track.metadata().album().toStdWString()));
+                       tag->setTitle(TagLib::String(track.metadata().title().toStdWString()));
+               }
+               file_ref.save();
+       }
+}