3 #include <core/producer/frame_producer.h>
\r
4 #include <core/producer/frame_producer_device.h>
\r
5 #include <core/video_format.h>
\r
6 #include <core/channel.h>
\r
12 class cg_producer : public core::frame_producer
\r
15 static const unsigned int DEFAULT_LAYER = 9999;
\r
17 explicit cg_producer();
\r
18 cg_producer(cg_producer&& other);
\r
20 virtual safe_ptr<core::draw_frame> receive();
\r
21 virtual void initialize(const safe_ptr<core::frame_factory>& frame_factory);
\r
22 virtual void set_parent_printer(const printer& parent_printer);
\r
25 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
26 void remove(int layer);
\r
27 void play(int layer);
\r
28 void stop(int layer, unsigned int mix_out_duration);
\r
29 void next(int layer);
\r
30 void update(int layer, const std::wstring& data);
\r
31 void invoke(int layer, const std::wstring& label);
\r
33 virtual std::wstring print() const;
\r
36 struct implementation;
\r
37 std::shared_ptr<implementation> impl_;
\r
39 safe_ptr<cg_producer> get_default_cg_producer(const safe_ptr<core::channel>& channel, int layer_index = cg_producer::DEFAULT_LAYER);
\r
41 safe_ptr<core::frame_producer> create_ct_producer(const std::vector<std::wstring>& params);
\r