]> git.sesse.net Git - casparcg/blobdiff - core/mixer/mixer.h
[bluefish_consumer] Install GPF handler for custom thread.
[casparcg] / core / mixer / mixer.h
index 6b1147a3c0c619d515d98d6b10604e01bfa62cdc..4d51a69e9fde371f0d4e9366e0b911ea75814d40 100644 (file)
@@ -26,9 +26,9 @@
 #include <common/forward.h>
 #include <common/future_fwd.h>
 #include <common/memory.h>
-#include <common/reactive.h>
 
-#include <core/video_format.h>
+#include <core/fwd.h>
+#include <core/monitor/monitor.h>
 
 #include <boost/property_tree/ptree_fwd.hpp>
 
@@ -38,7 +38,7 @@ FORWARD2(caspar, diagnostics, class graph);
 
 namespace caspar { namespace core {
        
-class mixer /* final */
+class mixer final
 {
        mixer(const mixer&);
        mixer& operator=(const mixer&);
@@ -48,25 +48,25 @@ public:
                                        
        // Constructors
        
-       explicit mixer(spl::shared_ptr<diagnostics::graph> graph, spl::shared_ptr<class image_mixer> image_mixer);
+       explicit mixer(int channel_index, spl::shared_ptr<caspar::diagnostics::graph> graph, spl::shared_ptr<image_mixer> image_mixer);
 
        // Methods
                
-       class const_frame operator()(std::map<int, class draw_frame> frames, const struct video_format_desc& format_desc);
-       
-       void set_blend_mode(int index, blend_mode value);
-
-       void clear_blend_mode(int index);
-
-       void clear_blend_modes();
+       const_frame operator()(std::map<int, draw_frame> frames, const video_format_desc& format_desc, const core::audio_channel_layout& channel_layout);
 
        void set_master_volume(float volume);
+       float get_master_volume();
+       void set_straight_alpha_output(bool value);
+       bool get_straight_alpha_output();
 
-       class mutable_frame create_frame(const void* tag, const struct pixel_format_desc& desc);
+       mutable_frame create_frame(const void* tag, const pixel_format_desc& desc, const core::audio_channel_layout& channel_layout);
 
        // Properties
 
        std::future<boost::property_tree::wptree> info() const;
+       std::future<boost::property_tree::wptree> delay_info() const;
+
+       monitor::subject& monitor_output();
 
 private:
        struct impl;