]> git.sesse.net Git - casparcg/blobdiff - core/producer/frame_producer_device.h
2.0.0.2: Fixed SWAP command. Now swaps video-layers in producer_device instead of...
[casparcg] / core / producer / frame_producer_device.h
index 5e04284c504ad08ff9e2d57dd63e5e6025573c0a..7f466bb591969a91ba8d2d6d8ff9bcb38d34a623 100644 (file)
@@ -25,21 +25,23 @@ namespace caspar { namespace core {
 class frame_producer_device : boost::noncopyable\r
 {\r
 public:\r
+       static const int MAX_LAYER = 101;\r
+\r
        typedef std::function<void(const std::vector<safe_ptr<draw_frame>>&)> output_func;\r
 \r
-       explicit frame_producer_device(const video_format_desc& format_desc, const safe_ptr<frame_factory>& factory, const output_func& output);\r
+       explicit frame_producer_device(const safe_ptr<frame_factory>& factory, const output_func& output);\r
        frame_producer_device(frame_producer_device&& other);\r
                \r
-       void load(int index, const safe_ptr<frame_producer>& producer, bool play_on_load = false);\r
-       void preview(int index, const safe_ptr<frame_producer>& producer);\r
-       void pause(int index);\r
-       void play(int index);\r
-       void stop(int index);\r
-       void clear(int index);\r
+       void load(size_t index, const safe_ptr<frame_producer>& producer, bool play_on_load = false);\r
+       void preview(size_t index, const safe_ptr<frame_producer>& producer);\r
+       void pause(size_t index);\r
+       void play(size_t index);\r
+       void stop(size_t index);\r
+       void clear(size_t index);\r
        void clear();   \r
-       boost::unique_future<safe_ptr<frame_producer>> foreground(int index) const;\r
-       boost::unique_future<safe_ptr<frame_producer>> background(int index) const;\r
-       const video_format_desc& get_video_format_desc() const;\r
+       void swap(size_t index, size_t other_index);\r
+       void swap(size_t index, size_t other_index, frame_producer_device& other);\r
+       boost::unique_future<safe_ptr<frame_producer>> foreground(size_t index) const;\r
 \r
 private:\r
        struct implementation;\r