*/\r
#pragma once\r
\r
-#include <common/exception/exceptions.h>\r
+#include <common/memory/safe_ptr.h>\r
\r
-#include <core/video_format.h>\r
-#include <core/consumer/frame_consumer.h>\r
+#include <boost/property_tree/ptree.hpp>\r
\r
#include <string>\r
\r
namespace caspar { \r
- \r
-struct bluefish_exception : public caspar_exception{};\r
-\r
-class bluefish_consumer : public core::frame_consumer\r
-{\r
-public:\r
- explicit bluefish_consumer(unsigned int device_index, bool embed_audio = false);\r
- bluefish_consumer(bluefish_consumer&& other);\r
- \r
- virtual void initialize(const core::video_format_desc& format_desc, const printer& parent_printer);\r
- virtual void send(const safe_ptr<const core::read_frame>&);\r
- virtual size_t buffer_depth() const;\r
- virtual std::wstring print() const;\r
-private:\r
- struct implementation;\r
- std::shared_ptr<implementation> impl_;\r
-};\r
- \r
-void blue_initialize();\r
-std::wstring get_bluefish_version();\r
-std::vector<std::wstring> get_bluefish_device_list();\r
-safe_ptr<core::frame_consumer> create_bluefish_consumer(const std::vector<std::wstring>& params);\r
-\r
-}
\ No newline at end of file
+\r
+namespace core {\r
+ struct frame_consumer;\r
+}\r
+ \r
+namespace bluefish {\r
+\r
+safe_ptr<core::frame_consumer> create_consumer(const std::vector<std::wstring>& params);\r
+safe_ptr<core::frame_consumer> create_consumer(const boost::property_tree::ptree& ptree);\r
+\r
+}}
\ No newline at end of file