X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=core%2Fproducer%2Ftransition%2Ftransition_producer.cpp;h=590aca44d248fc02d3c27c9e4179ffb1ca86512c;hb=829fcd07d635222421a83387e279c50bd9d81320;hp=ff179245d5cb9916ba8cd2a46273b94989e3f150;hpb=1f2344fe8705342b0503af4609064267e9ae42f4;p=casparcg diff --git a/core/producer/transition/transition_producer.cpp b/core/producer/transition/transition_producer.cpp index ff179245d..590aca44d 100644 --- a/core/producer/transition/transition_producer.cpp +++ b/core/producer/transition/transition_producer.cpp @@ -19,7 +19,7 @@ * Author: Robert Nagy, ronag89@gmail.com */ -#include "../../stdafx.h" +#include "../../StdAfx.h" #include "transition_producer.h" @@ -38,23 +38,20 @@ class transition_producer : public frame_producer_base { spl::shared_ptr monitor_subject_; const field_mode mode_; - int current_frame_; + int current_frame_ = 0; const transition_info info_; spl::shared_ptr dest_producer_; - spl::shared_ptr source_producer_; + spl::shared_ptr source_producer_ = frame_producer::empty(); - bool paused_; + bool paused_ = false; public: explicit transition_producer(const field_mode& mode, const spl::shared_ptr& dest, const transition_info& info) : mode_(mode) - , current_frame_(0) , info_(info) , dest_producer_(dest) - , source_producer_(frame_producer::empty()) - , paused_(false) { dest->monitor_output().attach_parent(monitor_subject_); @@ -98,7 +95,7 @@ public: *monitor_subject_ << monitor::message("/transition/frame") % current_frame_ % info_.duration << monitor::message("/transition/type") % [&]() -> std::string { - switch(info_.type.value()) + switch(info_.type) { case transition_type::mix: return "mix"; case transition_type::wipe: return "wipe"; @@ -130,6 +127,11 @@ public: return dest_producer_->nb_frames(); } + uint32_t frame_number() const override + { + return dest_producer_->frame_number(); + } + std::wstring print() const override { return L"transition[" + source_producer_->print() + L"=>" + dest_producer_->print() + L"]";