]> git.sesse.net Git - casparcg/commitdiff
Manually merged a05b9884a5fc567f69543bec533a85741d96abc0 from master
authorHelge Norberg <helge.norberg@svt.se>
Wed, 10 Apr 2013 09:33:28 +0000 (11:33 +0200)
committerHelge Norberg <helge.norberg@svt.se>
Wed, 10 Apr 2013 09:33:28 +0000 (11:33 +0200)
shell/main.cpp

index 10f6b5be80618f3d8ad0f9240aa3fc7369a90460..47739e9dcea6fd53262c7e669af6799772072a5c 100644 (file)
@@ -209,70 +209,78 @@ void run()
 
                if(wcmd == L"EXIT" || wcmd == L"Q" || wcmd == L"QUIT" || wcmd == L"BYE")
                        break;
-                               
-               // This is just dummy code for testing.
-               if(wcmd.substr(0, 1) == L"1")
-                       wcmd = L"LOADBG 1-1 " + wcmd.substr(1, wcmd.length()-1) + L" SLIDE 100 LOOP \r\nPLAY 1-1";
-               else if(wcmd.substr(0, 1) == L"2")
-                       wcmd = L"MIXER 1-0 VIDEO IS_KEY 1";
-               else if(wcmd.substr(0, 1) == L"3")
-                       wcmd = L"CG 1-2 ADD 1 BBTELEFONARE 1";
-               else if(wcmd.substr(0, 1) == L"4")
-                       wcmd = L"PLAY 1-1 DV FILTER yadif=1:-1 LOOP";
-               else if(wcmd.substr(0, 1) == L"5")
-               {
-                       auto file = wcmd.substr(2, wcmd.length()-1);
-                       wcmd = L"PLAY 1-1 " + file + L" LOOP\r\n" 
-                                       L"PLAY 1-2 " + file + L" LOOP\r\n" 
-                                       L"PLAY 1-3 " + file + L" LOOP\r\n"
-                                       L"PLAY 2-1 " + file + L" LOOP\r\n" 
-                                       L"PLAY 2-2 " + file + L" LOOP\r\n" 
-                                       L"PLAY 2-3 " + file + L" LOOP\r\n";
-               }
-               else if(wcmd.substr(0, 1) == L"7")
-               {
-                       wcmd = L"";
-                       wcmd += L"CLEAR 1\r\n";
-                       wcmd += L"MIXER 1 CLEAR\r\n";
-                       wcmd += L"PLAY 1-0 GREEN\r\n";
-                       wcmd += L"PLAY 1-1 BLUE\r\n";
-                       wcmd += L"CG 1-2 ADD 1 ECS_TEST 1\r\n";
-                       wcmd += L"MIXER 1-2 FILL 0 -1 1 2\r\n";
-               }
-               else if(wcmd.substr(0, 1) == L"8")
-               {
-                       wcmd = L"";
-                       wcmd += L"MIXER 1-1 FILL 0.0 0.5 1.0 1.0 500 linear DEFER\r\n";
-                       wcmd += L"MIXER 1-2 FILL 0.0 0.0 1.0 1.0 500 linear DEFER\r\n";
-                       wcmd += L"MIXER 1 COMMIT\r\n";
-               }
-               else if(wcmd.substr(0, 1) == L"X")
+
+               try
                {
-                       int num = 0;
-                       std::wstring file;
-                       try
+                       // This is just dummy code for testing.
+                       if(wcmd.substr(0, 1) == L"1")
+                               wcmd = L"LOADBG 1-1 " + wcmd.substr(1, wcmd.length()-1) + L" SLIDE 100 LOOP \r\nPLAY 1-1";
+                       else if(wcmd.substr(0, 1) == L"2")
+                               wcmd = L"MIXER 1-0 VIDEO IS_KEY 1";
+                       else if(wcmd.substr(0, 1) == L"3")
+                               wcmd = L"CG 1-2 ADD 1 BBTELEFONARE 1";
+                       else if(wcmd.substr(0, 1) == L"4")
+                               wcmd = L"PLAY 1-1 DV FILTER yadif=1:-1 LOOP";
+                       else if(wcmd.substr(0, 1) == L"5")
                        {
-                               num = boost::lexical_cast<int>(wcmd.substr(1, 2));
-                               file = wcmd.substr(4, wcmd.length()-1);
+                               auto file = wcmd.substr(2, wcmd.length()-1);
+                               wcmd = L"PLAY 1-1 " + file + L" LOOP\r\n" 
+                                               L"PLAY 1-2 " + file + L" LOOP\r\n" 
+                                               L"PLAY 1-3 " + file + L" LOOP\r\n"
+                                               L"PLAY 2-1 " + file + L" LOOP\r\n" 
+                                               L"PLAY 2-2 " + file + L" LOOP\r\n" 
+                                               L"PLAY 2-3 " + file + L" LOOP\r\n";
                        }
-                       catch(...)
+                       else if(wcmd.substr(0, 1) == L"7")
                        {
-                               num = boost::lexical_cast<int>(wcmd.substr(1, 1));
-                               file = wcmd.substr(3, wcmd.length()-1);
+                               wcmd = L"";
+                               wcmd += L"CLEAR 1\r\n";
+                               wcmd += L"MIXER 1 CLEAR\r\n";
+                               wcmd += L"PLAY 1-0 GREEN\r\n";
+                               wcmd += L"PLAY 1-1 BLUE\r\n";
+                               wcmd += L"CG 1-2 ADD 1 ECS_TEST 1\r\n";
+                               wcmd += L"MIXER 1-2 FILL 0 -1 1 2\r\n";
                        }
-
-                       int n = 0;
-                       int num2 = num;
-                       while(num2 > 0)
+                       else if(wcmd.substr(0, 1) == L"8")
                        {
-                               num2 >>= 1;
-                               n++;
+                               wcmd = L"";
+                               wcmd += L"MIXER 1-1 FILL 0.0 0.5 1.0 1.0 500 linear DEFER\r\n";
+                               wcmd += L"MIXER 1-2 FILL 0.0 0.0 1.0 1.0 500 linear DEFER\r\n";
+                               wcmd += L"MIXER 1 COMMIT\r\n";
                        }
-
-                       wcmd = L"MIXER 1 GRID " + boost::lexical_cast<std::wstring>(n);
-
-                       for(int i = 1; i <= num; ++i)
-                               wcmd += L"\r\nPLAY 1-" + boost::lexical_cast<std::wstring>(i) + L" " + file + L" LOOP";// + L" SLIDE 100 LOOP";
+                       else if(wcmd.substr(0, 1) == L"X")
+                       {
+                               int num = 0;
+                               std::wstring file;
+                               try
+                               {
+                                       num = boost::lexical_cast<int>(wcmd.substr(1, 2));
+                                       file = wcmd.substr(4, wcmd.length()-1);
+                               }
+                               catch(...)
+                               {
+                                       num = boost::lexical_cast<int>(wcmd.substr(1, 1));
+                                       file = wcmd.substr(3, wcmd.length()-1);
+                               }
+
+                               int n = 0;
+                               int num2 = num;
+                               while(num2 > 0)
+                               {
+                                       num2 >>= 1;
+                                       n++;
+                               }
+
+                               wcmd = L"MIXER 1 GRID " + boost::lexical_cast<std::wstring>(n);
+
+                               for(int i = 1; i <= num; ++i)
+                                       wcmd += L"\r\nPLAY 1-" + boost::lexical_cast<std::wstring>(i) + L" " + file + L" LOOP";// + L" SLIDE 100 LOOP";
+                       }
+               }
+               catch (...)
+               {
+                       CASPAR_LOG_CURRENT_EXCEPTION();
+                       continue;
                }
 
                wcmd += L"\r\n";