#include <boost/thread/once.hpp>\r
\r
#include <functional>\r
+#include <iostream>\r
\r
namespace caspar { namespace env {\r
\r
std::wstring media;\r
std::wstring log;\r
std::wstring ftemplate;\r
-std::wstring ftemplate_host;\r
std::wstring data;\r
boost::property_tree::ptree pt;\r
\r
\r
void configure(const std::string& filename)\r
{\r
- std::string initialPath = boost::filesystem::initial_path().file_string();\r
+ try\r
+ {\r
+ std::string initialPath = boost::filesystem::initial_path().file_string();\r
\r
- boost::property_tree::read_xml(initialPath + "\\" + filename, pt);\r
-\r
- auto paths = pt.get_child("configuration.paths");\r
- media = widen(paths.get("media-path", initialPath + "\\media\\"));\r
- log = widen(paths.get("log-path", initialPath + "\\log\\"));\r
- ftemplate = complete(wpath(widen(paths.get("template-path", initialPath + "\\template\\")))).string();\r
-\r
- ftemplate_host = widen(paths.get("template-host", "cg.fth"));\r
-\r
- data = widen(paths.get("data-path", initialPath + "\\data\\"));\r
+ boost::property_tree::read_xml(initialPath + "\\" + filename, pt, boost::property_tree::xml_parser::trim_whitespace | boost::property_tree::xml_parser::no_comments);\r
+\r
+ auto paths = pt.get_child("configuration.paths");\r
+ media = widen(paths.get("media-path", initialPath + "\\media\\"));\r
+ log = widen(paths.get("log-path", initialPath + "\\log\\"));\r
+ ftemplate = complete(wpath(widen(paths.get("template-path", initialPath + "\\template\\")))).string(); \r
+ data = widen(paths.get("data-path", initialPath + "\\data\\"));\r
+ }\r
+ catch(...)\r
+ {\r
+ std::wcout << L" ### Invalid configuration file. ###";\r
+ throw;\r
+ }\r
}\r
\r
const std::wstring& media_folder()\r
return ftemplate;\r
}\r
\r
-const std::wstring& template_host()\r
-{\r
- check_is_configured();\r
- return ftemplate_host;\r
-}\r
-\r
const std::wstring& data_folder()\r
{\r
check_is_configured();\r
\r
const std::wstring& version()\r
{\r
- static std::wstring ver = std::wstring(L"") + CASPAR_GEN + L"." + CASPAR_MAYOR + L"." + CASPAR_MINOR + L"." + CASPAR_REV + L" ALPHA";\r
+ static std::wstring ver = std::wstring(L"") + CASPAR_GEN + L"." + CASPAR_MAYOR + L"." + CASPAR_MINOR + L"." + CASPAR_REV + L" " + CASPAR_TAG;\r
return ver;\r
}\r
\r