From 6f6ed4fecb4e9b81a6af02f68e34d63ca9f21520 Mon Sep 17 00:00:00 2001 From: Ronag Date: Sat, 20 Aug 2011 21:32:51 +0000 Subject: [PATCH] 2.0. frame_producer: Search _A and _ALPHA suffix for separate alpha. 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 | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/core/producer/frame_producer.cpp b/core/producer/frame_producer.cpp index 548d8314a..9b187d834 100644 --- a/core/producer/frame_producer.cpp +++ b/core/producer/frame_producer.cpp @@ -92,15 +92,7 @@ safe_ptr do_create_producer(const safe_ptr& if(producer == frame_producer::empty()) producer = create_color_producer(my_frame_factory, params); - - if(producer == frame_producer::empty()) - { - std::wstring str; - BOOST_FOREACH(auto& param, params) - str += param + L" "; - BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax.") << arg_value_info(narrow(str))); - } - + return producer; } @@ -117,12 +109,25 @@ safe_ptr create_producer(const safe_ptr& my { params_copy[0] += L"_A"; key_producer = do_create_producer(my_frame_factory, params_copy); + if(key_producer == frame_producer::empty()) + { + params_copy[0] += L"LPHA"; + key_producer = do_create_producer(my_frame_factory, params_copy); + } } } catch(...){} - if(key_producer != frame_producer::empty()) - return create_separated_producer(producer, key_producer); + if(producer != frame_producer::empty() && key_producer != frame_producer::empty()) + producer = create_separated_producer(producer, key_producer); + + if(producer == frame_producer::empty()) + { + std::wstring str; + BOOST_FOREACH(auto& param, params) + str += param + L" "; + BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax.") << arg_value_info(narrow(str))); + } return producer; } -- 2.39.2