+ Added support for motion blur via a new BLUR parameter\r
+ Added PREMULTIPLY parameter to support images stored with straight alpha.\r
\r
+AMCP\r
+----\r
+\r
+ o DATA STORE now supports creating folders of path specified if they does not\r
+ exist.\r
+ o DATA REMOVE command was added.\r
+\r
CasparCG 2.0 Stable (w.r.t Beta 3)\r
==================================\r
\r
return DoExecuteStore();
else if(command == TEXT("RETRIEVE"))
return DoExecuteRetrieve();
+ else if(command == TEXT("REMOVE"))
+ return DoExecuteRemove();
else if(command == TEXT("LIST"))
return DoExecuteList();
filename.append(_parameters[1]);
filename.append(TEXT(".ftd"));
+ auto data_path = boost::filesystem::wpath(
+ boost::filesystem::wpath(filename).parent_path());
+
+ if(!boost::filesystem::exists(data_path))
+ boost::filesystem::create_directories(data_path);
+
std::wofstream datafile(filename.c_str());
if(!datafile)
{
return true;
}
+bool DataCommand::DoExecuteRemove()
+{
+ if (_parameters.size() < 2)
+ {
+ SetReplyString(TEXT("402 DATA REMOVE ERROR\r\n"));
+ return false;
+ }
+
+ std::wstring filename = env::data_folder();
+ filename.append(_parameters[1]);
+ filename.append(TEXT(".ftd"));
+
+ if (!boost::filesystem::exists(filename))
+ {
+ SetReplyString(TEXT("404 DATA REMOVE ERROR\r\n"));
+ return false;
+ }
+
+ if (!boost::filesystem::remove(filename))
+ {
+ SetReplyString(TEXT("403 DATA REMOVE ERROR\r\n"));
+ return false;
+ }
+
+ SetReplyString(TEXT("201 DATA REMOVE OK\r\n"));
+
+ return true;
+}
+
bool DataCommand::DoExecuteList()
{
std::wstringstream replyString;