+ try\r
+ {\r
+ if(!boost::filesystem2::exists(filename))\r
+ BOOST_THROW_EXCEPTION(caspar_exception());\r
+ \r
+ std::fstream fileStream = std::fstream(filename, std::fstream::in);\r
+ fileStream.seekg(27, std::ios::beg);\r
+ \r
+ std::vector<char> bytes(10);\r
+ fileStream.read(bytes.data(), bytes.size());\r
+ \r
+ if (std::string(bytes.begin(), bytes.end()) == "onMetaData")\r
+ {\r
+ fileStream.seekg(6, std::ios::cur);\r
+\r
+ for(int n = 0; n < 9; ++n)\r
+ {\r
+ char name_size = 0;\r
+ fileStream.read(&name_size, 1);\r
+\r
+ std::vector<char> name(name_size);\r
+ fileStream.read(name.data(), name.size());\r
+ auto name_str = std::string(name.begin(), name.end());\r
+\r
+ char data_type = 0;\r
+ fileStream.read(&data_type, 1);\r
+\r
+ switch(data_type)\r
+ {\r
+ case 0:\r
+ values[name_str] = boost::lexical_cast<std::string>(next_double(fileStream));\r
+ break;\r
+ case 1:\r
+ values[name_str] = boost::lexical_cast<std::string>(next_bool(fileStream));\r
+ break;\r
+ }\r
+ fileStream.seekg(1, std::ios::cur);\r
+ }\r
+ }\r
+ }\r
+ catch(...)\r
+ {\r
+ CASPAR_LOG_CURRENT_EXCEPTION();\r
+ }\r