diff --git a/src/EffectsEngine/EffectsEngine.cpp b/src/EffectsEngine/EffectsEngine.cpp index 5fd69c26cb2eeaae9049919dcc3fb3260c5e6042..e7c5e00b8b2e868a6760bf7b24f92b04f1ab29b9 100644 --- a/src/EffectsEngine/EffectsEngine.cpp +++ b/src/EffectsEngine/EffectsEngine.cpp @@ -179,3 +179,16 @@ EffectsEngine::saveEffects( const EffectList &effects, QXmlStreamWriter &project } project.writeEndElement(); } + +void +EffectsEngine::initEffects( const EffectList &effects, quint32 width, quint32 height ) +{ + EffectsEngine::EffectList::const_iterator it = effects.begin(); + EffectsEngine::EffectList::const_iterator ite = effects.end(); + + while ( it != ite ) + { + (*it)->effect->init( width, height ); + ++it; + } +} diff --git a/src/EffectsEngine/EffectsEngine.h b/src/EffectsEngine/EffectsEngine.h index 70adbdb2640466e6dcd7fee2e2e6e228756d2d01..558d292692c6e8a85e819169fa4189b375156230 100644 --- a/src/EffectsEngine/EffectsEngine.h +++ b/src/EffectsEngine/EffectsEngine.h @@ -56,6 +56,7 @@ class EffectsEngine : public QObject, public Singleton static void applyEffects( const EffectList &effects, Workflow::Frame *frame, qint64 currentFrame ); static void saveEffects( const EffectList &effects, QXmlStreamWriter &project ); + static void initEffects( const EffectList &effects, quint32 width, quint32 height ); private: EffectsEngine(); diff --git a/src/Renderer/WorkflowRenderer.cpp b/src/Renderer/WorkflowRenderer.cpp index 00142a066391f4e9f6c0af07b3230ab3ac2a6cc3..573792c1f1176adcd865e4033211ec53ac928421 100644 --- a/src/Renderer/WorkflowRenderer.cpp +++ b/src/Renderer/WorkflowRenderer.cpp @@ -117,6 +117,8 @@ WorkflowRenderer::setupRenderer( quint32 width, quint32 height, double fps ) sprintf( buffer, ":imem-data=%"PRId64, (intptr_t)m_esHandler ); m_media->addOption( buffer ); m_media->addOption( ":text-renderer dummy" ); + + EffectsEngine::initEffects( m_effects, width, height ); } int @@ -388,7 +390,7 @@ void WorkflowRenderer::appendEffect( Effect *effect, qint64 start, qint64 end ) { EffectInstance *effectInstance = effect->createInstance(); - effectInstance->init( m_width, m_height ); + qDebug() << "width:" << m_width << m_height; QWriteLocker lock( m_effectsLock ); m_effects.push_back( new EffectsEngine::EffectHelper( effectInstance, start, end ) ); }