X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Faudiofile_tagger.cc;h=0131292680b394e5747cddaf31239165924bbbc6;hb=8139becb1898187729b0ea57f145302d4975bf3a;hp=61a05d49ced7d57aa5e3e32e59215e389f483063;hpb=8648a8a13b04549362f14a0738947d997ef1abc7;p=ardour.git diff --git a/libs/ardour/audiofile_tagger.cc b/libs/ardour/audiofile_tagger.cc index 61a05d49ce..0131292680 100644 --- a/libs/ardour/audiofile_tagger.cc +++ b/libs/ardour/audiofile_tagger.cc @@ -22,7 +22,7 @@ #include "ardour/session_metadata.h" -#include "pbd/convert.h" +#include "pbd/string_convert.h" #include #include @@ -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); @@ -108,7 +118,7 @@ AudiofileTagger::tag_vorbis_comment (TagLib::Ogg::XiphComment & tag, SessionMeta tag.addField ("MIXER", TL_STR(metadata.mixer())); tag.addField ("COMPILATION", TL_STR(metadata.compilation())); tag.addField ("DISCSUBTITLE", TL_STR(metadata.disc_subtitle())); - tag.addField ("DISCNUMBER", to_string (metadata.disc_number(), std::dec)); + tag.addField ("DISCNUMBER", to_string (metadata.disc_number())); // No field for total discs or tracks