bool reusable_producer_instance;
};
- struct name {};
- struct extension {};
-
mutable boost::mutex mutex_;
std::map<std::wstring, record> records_by_extension_;
public:
return rec.second.info_extractor(*found);
}
- CASPAR_THROW_EXCEPTION(caspar_exception() << msg_info(L"No meta info extractor for " + filename));
+ CASPAR_THROW_EXCEPTION(user_error() << msg_info(L"No meta info extractor for " + filename));
}
bool is_cg_extension(const std::wstring& extension) const
return records_by_extension_.find(extension) != records_by_extension_.end();
}
+
+ std::wstring get_cg_producer_name(const std::wstring& filename) const
+ {
+ auto record = find_record(filename);
+
+ if (!record)
+ CASPAR_THROW_EXCEPTION(caspar_exception() << msg_info(filename + L" is not a cg template."));
+
+ return record->name;
+ }
private:
boost::optional<record> find_record(const std::wstring& filename) const
{
return impl_->is_cg_extension(extension);
}
+std::wstring cg_producer_registry::get_cg_producer_name(const std::wstring& filename) const
+{
+ return impl_->get_cg_producer_name(filename);
+}
+
}}