3 #include "../frame_producer.h"
\r
4 #include "../../format/video_format.h"
\r
5 #include "../../channel.h"
\r
7 namespace caspar { namespace core { namespace flash{
\r
9 class cg_producer : public frame_producer
\r
12 static const unsigned int DEFAULT_LAYER = 5000;
\r
15 cg_producer(cg_producer&& other);
\r
17 virtual safe_ptr<draw_frame> receive();
\r
18 virtual void initialize(const safe_ptr<frame_processor_device>& frame_processor);
\r
21 void add(int layer, const std::wstring& template_name, bool play_on_load, const std::wstring& start_from_label = TEXT(""), const std::wstring& data = TEXT(""));
\r
22 void remove(int layer);
\r
23 void play(int layer);
\r
24 void stop(int layer, unsigned int mix_out_duration);
\r
25 void next(int layer);
\r
26 void update(int layer, const std::wstring& data);
\r
27 void invoke(int layer, const std::wstring& label);
\r
29 virtual std::wstring print() const;
\r
32 struct implementation;
\r
33 std::shared_ptr<implementation> impl_;
\r
36 safe_ptr<cg_producer> get_default_cg_producer(const safe_ptr<channel>& channel, int layer_index = cg_producer::DEFAULT_LAYER);
\r
38 safe_ptr<frame_producer> create_ct_producer(const std::vector<std::wstring>& params);
\r