allow to customize variable i/o plugin inputs
[ardour.git] / libs / ardour / audiofile_tagger.cc
index 887366283cd999245f5fb176d3377f0d33ca456d..e2d81176e115dc87e0527efc7d9c538dab2e4039 100644 (file)
 #include "pbd/convert.h"
 
 #include <taglib/fileref.h>
-#include <taglib/flac/flacfile.h>
-#include <taglib/ogg/oggfile.h>
+#include <taglib/flacfile.h>
+#include <taglib/oggfile.h>
 #include <taglib/tag.h>
-#include <taglib/toolkit/taglib.h>
-#include <taglib/ogg/xiphcomment.h>
+#include <taglib/taglib.h>
+#include <taglib/xiphcomment.h>
 
 /* Convert string to TagLib::String */
 #define TL_STR(string) TagLib::String ((string).c_str(), TagLib::String::UTF8)
@@ -43,6 +43,16 @@ bool
 AudiofileTagger::tag_file (std::string const & filename, SessionMetadata const & metadata)
 {
        TagLib::FileRef file (filename.c_str());
+       if (file.isNull()) {
+               std::cerr << "TagLib::FileRef is null for file" << filename  << std::endl;
+               return true; // continue anyway?!
+       }
+
+       if (!file.tag()) {
+               std::cerr << "TagLib::Tag is null for file" << filename  << std::endl;
+               return true; // continue anyway?!
+       }
+
        TagLib::Tag & tag (*file.tag());
 
        tag_generic (tag, metadata);