X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Faudiofile_tagger.cc;h=e2d81176e115dc87e0527efc7d9c538dab2e4039;hb=0a6eed2b33c7abbfdd5fac6448fbfe495c8f5dda;hp=c06b712f4e779584ea01c13fb68ca114ef43fce8;hpb=bb9cc45cd22af67ac275a5e73accbe14fee664d8;p=ardour.git diff --git a/libs/ardour/audiofile_tagger.cc b/libs/ardour/audiofile_tagger.cc index c06b712f4e..e2d81176e1 100644 --- a/libs/ardour/audiofile_tagger.cc +++ b/libs/ardour/audiofile_tagger.cc @@ -24,15 +24,15 @@ #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 Glib::ustring to TagLib::String */ -#define TL_STR(ustring) TagLib::String ((ustring).c_str(), TagLib::String::UTF8) +/* Convert string to TagLib::String */ +#define TL_STR(string) TagLib::String ((string).c_str(), TagLib::String::UTF8) using namespace PBD; @@ -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);