X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Faudiofile_tagger.cc;h=e2d81176e115dc87e0527efc7d9c538dab2e4039;hb=6946bdc0830c9f0971d2cd0d54b27e343c54d96a;hp=81ccf7a35ed92cc09130efd67df8b809a9e305ac;hpb=4d112a8e6b90fa64a5cd333042044768111ba994;p=ardour.git diff --git a/libs/ardour/audiofile_tagger.cc b/libs/ardour/audiofile_tagger.cc index 81ccf7a35e..e2d81176e1 100644 --- a/libs/ardour/audiofile_tagger.cc +++ b/libs/ardour/audiofile_tagger.cc @@ -24,12 +24,12 @@ #include "pbd/convert.h" -#include "taglib/fileref.h" -#include "taglib/flacfile.h" -#include "taglib/oggfile.h" -#include "taglib/tag.h" -#include "taglib/taglib.h" -#include "taglib/xiphcomment.h" +#include +#include +#include +#include +#include +#include /* Convert string to TagLib::String */ #define TL_STR(string) TagLib::String ((string).c_str(), TagLib::String::UTF8) @@ -40,9 +40,19 @@ namespace ARDOUR { bool -AudiofileTagger::tag_file (string const & filename, SessionMetadata const & metadata) +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);