\r
bool CGCommand::DoExecute()\r
{\r
- std::wstring command = _parameters[0];\r
- if(command == TEXT("ADD"))\r
- return DoExecuteAdd();\r
- else if(command == TEXT("PLAY"))\r
- return DoExecutePlay();\r
- else if(command == TEXT("STOP"))\r
- return DoExecuteStop();\r
- else if(command == TEXT("NEXT"))\r
- return DoExecuteNext();\r
- else if(command == TEXT("REMOVE"))\r
- return DoExecuteRemove();\r
- else if(command == TEXT("CLEAR"))\r
- return DoExecuteClear();\r
- else if(command == TEXT("UPDATE"))\r
- return DoExecuteUpdate();\r
- else if(command == TEXT("INVOKE"))\r
- return DoExecuteInvoke();\r
- else if(command == TEXT("INFO"))\r
- return DoExecuteInfo();\r
+ try\r
+ {\r
+ std::wstring command = _parameters[0];\r
+ if(command == TEXT("ADD"))\r
+ return DoExecuteAdd();\r
+ else if(command == TEXT("PLAY"))\r
+ return DoExecutePlay();\r
+ else if(command == TEXT("STOP"))\r
+ return DoExecuteStop();\r
+ else if(command == TEXT("NEXT"))\r
+ return DoExecuteNext();\r
+ else if(command == TEXT("REMOVE"))\r
+ return DoExecuteRemove();\r
+ else if(command == TEXT("CLEAR"))\r
+ return DoExecuteClear();\r
+ else if(command == TEXT("UPDATE"))\r
+ return DoExecuteUpdate();\r
+ else if(command == TEXT("INVOKE"))\r
+ return DoExecuteInvoke();\r
+ else if(command == TEXT("INFO"))\r
+ return DoExecuteInfo();\r
+ }\r
+ catch(...)\r
+ {\r
+ CASPAR_LOG_CURRENT_EXCEPTION();\r
+ }\r
\r
SetReplyString(TEXT("403 CG ERROR\r\n"));\r
return false;\r