]> git.sesse.net Git - casparcg/blobdiff - core/mixer/mixer.cpp
1061033: Clear blend modes when doing MIXER CLEAR command
[casparcg] / core / mixer / mixer.cpp
index 2dcabd6b8175d5ffb7de7808fd2d3f9f5808b189..471647e5c606b0b9bc8ff267e54f3a47e926c997 100644 (file)
@@ -133,6 +133,22 @@ public:
                        blend_modes_[index] = value;\r
                }, high_priority);\r
        }\r
+\r
+       void clear_blend_mode(int index)\r
+       {\r
+               executor_.begin_invoke([=]\r
+               {\r
+                       blend_modes_.erase(index);\r
+               }, high_priority);\r
+       }\r
+\r
+       void clear_blend_modes()\r
+       {\r
+               executor_.begin_invoke([=]\r
+               {\r
+                       blend_modes_.clear();\r
+               }, high_priority);\r
+       }\r
        \r
        void set_video_format_desc(const video_format_desc& format_desc)\r
        {\r
@@ -163,6 +179,8 @@ void mixer::send(const std::pair<std::map<int, safe_ptr<core::basic_frame>>, std
 core::video_format_desc mixer::get_video_format_desc() const { return impl_->get_video_format_desc(); }\r
 safe_ptr<core::write_frame> mixer::create_frame(const void* tag, const core::pixel_format_desc& desc){ return impl_->create_frame(tag, desc); }                \r
 void mixer::set_blend_mode(int index, blend_mode::type value){impl_->set_blend_mode(index, value);}\r
+void mixer::clear_blend_mode(int index) { impl_->clear_blend_mode(index); }\r
+void mixer::clear_blend_modes() { impl_->clear_blend_modes(); }\r
 void mixer::set_video_format_desc(const video_format_desc& format_desc){impl_->set_video_format_desc(format_desc);}\r
 boost::unique_future<boost::property_tree::wptree> mixer::info() const{return impl_->info();}\r
 }}
\ No newline at end of file