]> git.sesse.net Git - casparcg/commitdiff
2.0. frame_producer: Search _A and _ALPHA suffix for separate alpha.
authorRonag <Ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sat, 20 Aug 2011 21:32:51 +0000 (21:32 +0000)
committerRonag <Ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sat, 20 Aug 2011 21:32:51 +0000 (21:32 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@1243 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

core/producer/frame_producer.cpp

index 548d8314a4c931b384e7e59601c00371cd435253..9b187d834b6861be397d4b58d9e1c0c642135433 100644 (file)
@@ -92,15 +92,7 @@ safe_ptr<core::frame_producer> do_create_producer(const safe_ptr<frame_factory>&
 \r
        if(producer == frame_producer::empty())\r
                producer = create_color_producer(my_frame_factory, params);\r
-\r
-       if(producer == frame_producer::empty())\r
-       {\r
-               std::wstring str;\r
-               BOOST_FOREACH(auto& param, params)\r
-                       str += param + L" ";\r
-               BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax.") << arg_value_info(narrow(str)));\r
-       }\r
-\r
+       \r
        return producer;\r
 }\r
 \r
@@ -117,12 +109,25 @@ safe_ptr<core::frame_producer> create_producer(const safe_ptr<frame_factory>& my
                {\r
                        params_copy[0] += L"_A";\r
                        key_producer = do_create_producer(my_frame_factory, params_copy);                       \r
+                       if(key_producer == frame_producer::empty())\r
+                       {\r
+                               params_copy[0] += L"LPHA";\r
+                               key_producer = do_create_producer(my_frame_factory, params_copy);       \r
+                       }\r
                }\r
        }\r
        catch(...){}\r
 \r
-       if(key_producer != frame_producer::empty())\r
-               return create_separated_producer(producer, key_producer);\r
+       if(producer != frame_producer::empty() && key_producer != frame_producer::empty())\r
+               producer = create_separated_producer(producer, key_producer);\r
+       \r
+       if(producer == frame_producer::empty())\r
+       {\r
+               std::wstring str;\r
+               BOOST_FOREACH(auto& param, params)\r
+                       str += param + L" ";\r
+               BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax.") << arg_value_info(narrow(str)));\r
+       }\r
 \r
        return producer;\r
 }\r