return executor_.invoke([&]{return audio_transforms_[index];});\r
}\r
\r
- void set_image_transform(int index, image_transform&& transform)\r
+ void set_image_transform(int index, image_transform&& transform, int mix_duration)\r
{\r
- return executor_.invoke([&]{image_transforms_[index] = std::move(transform);});\r
+ return executor_.invoke([&]\r
+ {\r
+ image_transforms_[index] = std::move(transform);\r
+ });\r
}\r
\r
- void set_audio_transform(int index, audio_transform&& transform)\r
+ void set_audio_transform(int index, audio_transform&& transform, int mix_duration)\r
{\r
- return executor_.invoke([&]{audio_transforms_[index] = std::move(transform);});\r
+ return executor_.invoke([&]\r
+ {\r
+ audio_transforms_[index] = std::move(transform);\r
+ });\r
}\r
\r
std::wstring print() const\r
}\r
image_transform frame_mixer_device::get_image_transform(int index){return impl_->get_image_transform(index);}\r
audio_transform frame_mixer_device::get_audio_transform(int index){return impl_->get_audio_transform(index);}\r
-void frame_mixer_device::set_image_transform(int index, image_transform&& transform){impl_->set_image_transform(index, std::move(transform));}\r
-void frame_mixer_device::set_audio_transform(int index, audio_transform&& transform){impl_->set_audio_transform(index, std::move(transform));}\r
+void frame_mixer_device::set_image_transform(int index, image_transform&& transform, int mix_duration){impl_->set_image_transform(index, std::move(transform), mix_duration);}\r
+void frame_mixer_device::set_audio_transform(int index, audio_transform&& transform, int mix_duration){impl_->set_audio_transform(index, std::move(transform), mix_duration);}\r
\r
}}
\ No newline at end of file
image_transform get_image_transform(int index);\r
audio_transform get_audio_transform(int index);\r
\r
- void set_image_transform(int index, image_transform&& transform);\r
- void set_audio_transform(int index, audio_transform&& transform);\r
+ void set_image_transform(int index, image_transform&& transform, int mix_duration = 0);\r
+ void set_audio_transform(int index, audio_transform&& transform, int mix_duration = 0);\r
\r
private:\r
struct implementation;\r
\r
#include "media.h"\r
\r
+#include <common/exception/exceptions.h>\r
+\r
#include <core/producer/color/color_producer.h>\r
#include <core/producer/ffmpeg/ffmpeg_producer.h>\r
#include <core/producer/flash/cg_producer.h>\r
return producer != frame_producer::empty();\r
});\r
\r
+ if(producer == frame_producer::empty())\r
+ BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax."));\r
+\r
return producer;\r
}\r
\r
}\r
return consumer != frame_consumer::empty();\r
});\r
+ \r
+ if(consumer == frame_consumer::empty())\r
+ BOOST_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax."));\r
\r
return consumer;\r
}\r