#include "../util/util.h"\r
#include "../util/memory.h"\r
\r
-#include <core/consumer/frame/read_frame.h>\r
+#include <core/mixer/read_frame.h>\r
\r
#include <common/concurrency/executor.h>\r
#include <common/diagnostics/graph.h>\r
\r
active_ = executor_.begin_invoke([]{});\r
\r
- CASPAR_LOG(info) << print() << TEXT(" Successfully initialized for ") << format_desc_ << TEXT(".");\r
+ CASPAR_LOG(info) << print() << L" Successfully Initialized.";\r
}\r
\r
~bluefish_consumer()\r
\r
std::wstring print() const\r
{\r
- return model_name_ + L" [" + boost::lexical_cast<std::wstring>(device_index_) + L"]";\r
+ return model_name_ + L" [" + boost::lexical_cast<std::wstring>(device_index_) + L"|" + format_desc_.name + L"]";\r
}\r
};\r
\r
std::unique_ptr<bluefish_consumer> consumer_;\r
const size_t device_index_;\r
const bool embedded_audio_;\r
+ bool key_only_;\r
public:\r
\r
- bluefish_consumer_proxy(size_t device_index, bool embedded_audio)\r
+ bluefish_consumer_proxy(size_t device_index, bool embedded_audio, bool key_only)\r
: device_index_(device_index)\r
- , embedded_audio_(embedded_audio){}\r
+ , embedded_audio_(embedded_audio)\r
+ , key_only_(key_only){}\r
\r
virtual void initialize(const core::video_format_desc& format_desc)\r
{\r
{\r
return consumer_->print();\r
}\r
+\r
+ virtual bool key_only() const\r
+ {\r
+ return key_only_;\r
+ }\r
}; \r
\r
std::wstring get_bluefish_version()\r
\r
for(int n = 1; BLUE_PASS(blue->device_attach(n, FALSE)); ++n)\r
{ \r
- devices.push_back(L"[" + boost::lexical_cast<std::wstring>(n) + L"] " + get_card_desc(blue->has_video_cardtype()));\r
+ devices.push_back(std::wstring(get_card_desc(blue->has_video_cardtype())) + L" [" + boost::lexical_cast<std::wstring>(n) + L"]");\r
blue->device_detach(); \r
}\r
}\r
device_index = lexical_cast_or_default<int>(params[1], 1);\r
\r
bool embedded_audio = std::find(params.begin(), params.end(), L"EMBEDDED_AUDIO") != params.end();\r
+ bool key_only = std::find(params.begin(), params.end(), L"KEY_ONLY") != params.end();\r
\r
- return make_safe<bluefish_consumer_proxy>(device_index, embedded_audio);\r
+ return make_safe<bluefish_consumer_proxy>(device_index, embedded_audio, key_only);\r
}\r
\r
safe_ptr<core::frame_consumer> create_bluefish_consumer(const boost::property_tree::ptree& ptree) \r
{ \r
auto device_index = ptree.get("device", 0);\r
auto embedded_audio = ptree.get("embedded-audio", false);\r
+ bool key_only = (ptree.get("output", "fill_and_key") == "key_only");\r
\r
- return make_safe<bluefish_consumer_proxy>(device_index, embedded_audio);\r
+ return make_safe<bluefish_consumer_proxy>(device_index, embedded_audio, key_only);\r
}\r
\r
}
\ No newline at end of file