is_paused_ = false;\r
}\r
\r
- void load(spl::shared_ptr<frame_producer> producer, const boost::optional<int32_t>& auto_play_delta)\r
+ void load(spl::shared_ptr<frame_producer> producer, bool preview, const boost::optional<int32_t>& auto_play_delta)\r
{ \r
background_->unsubscribe(background_event_subject_);\r
background_ = std::move(producer);\r
\r
auto_play_delta_ = auto_play_delta;\r
\r
+ if(preview)\r
+ {\r
+ play();\r
+ foreground_->receive(0);\r
+ pause();\r
+ }\r
+\r
if(auto_play_delta_ && foreground_ == frame_producer::empty())\r
play();\r
}\r
{ \r
impl_.swap(other.impl_);\r
}\r
-void layer::load(spl::shared_ptr<frame_producer> frame_producer, const boost::optional<int32_t>& auto_play_delta){return impl_->load(std::move(frame_producer), auto_play_delta);} \r
+void layer::load(spl::shared_ptr<frame_producer> frame_producer, bool preview, const boost::optional<int32_t>& auto_play_delta){return impl_->load(std::move(frame_producer), preview, auto_play_delta);} \r
void layer::play(){impl_->play();}\r
void layer::pause(){impl_->pause();}\r
void layer::stop(){impl_->stop();}\r
\r
void swap(layer& other); \r
\r
- void load(spl::shared_ptr<class frame_producer> producer, const boost::optional<int32_t>& auto_play_delta = nullptr); \r
+ void load(spl::shared_ptr<class frame_producer> producer, bool preview, const boost::optional<int32_t>& auto_play_delta = nullptr); \r
void play(); \r
void pause(); \r
void stop(); \r
}, task_priority::high_priority);\r
}\r
\r
- void load(int index, const spl::shared_ptr<frame_producer>& producer, const boost::optional<int32_t>& auto_play_delta)\r
+ void load(int index, const spl::shared_ptr<frame_producer>& producer, bool preview, const boost::optional<int32_t>& auto_play_delta)\r
{\r
executor_.begin_invoke([=]\r
{\r
- get_layer(index).load(producer, auto_play_delta); \r
+ get_layer(index).load(producer, preview, auto_play_delta); \r
}, task_priority::high_priority);\r
}\r
\r
void stage::apply_transform(int index, const std::function<core::frame_transform(core::frame_transform)>& transform, unsigned int mix_duration, const tweener& tween){impl_->apply_transform(index, transform, mix_duration, tween);}\r
void stage::clear_transforms(int index){impl_->clear_transforms(index);}\r
void stage::clear_transforms(){impl_->clear_transforms();}\r
-void stage::load(int index, const spl::shared_ptr<frame_producer>& producer, const boost::optional<int32_t>& auto_play_delta){impl_->load(index, producer, auto_play_delta);}\r
+void stage::load(int index, const spl::shared_ptr<frame_producer>& producer, bool preview, const boost::optional<int32_t>& auto_play_delta){impl_->load(index, producer, preview, auto_play_delta);}\r
void stage::pause(int index){impl_->pause(index);}\r
void stage::play(int index){impl_->play(index);}\r
void stage::stop(int index){impl_->stop(index);}\r
void clear_transforms(int index);\r
void clear_transforms();\r
\r
- void load(int index, const spl::shared_ptr<class frame_producer>& producer, const boost::optional<int32_t>& auto_play_delta = nullptr);\r
+ void load(int index, const spl::shared_ptr<class frame_producer>& producer, bool preview = false, const boost::optional<int32_t>& auto_play_delta = nullptr);\r
void pause(int index);\r
void play(int index);\r
void stop(int index);\r
\r
auto pFP2 = create_transition_producer(GetChannel()->video_format_desc().field_mode, pFP, transitionInfo);\r
if(auto_play)\r
- GetChannel()->stage().load(GetLayerIndex(), pFP2, transitionInfo.duration); // TODO: LOOP\r
+ GetChannel()->stage().load(GetLayerIndex(), pFP2, false, transitionInfo.duration); // TODO: LOOP\r
else\r
- GetChannel()->stage().load(GetLayerIndex(), pFP2); // TODO: LOOP\r
+ GetChannel()->stage().load(GetLayerIndex(), pFP2, false); // TODO: LOOP\r
\r
SetReplyString(TEXT("202 LOADBG OK\r\n"));\r
\r