Commit f192e84e authored by Hugo Beauzee-Luyssen's avatar Hugo Beauzee-Luyssen

Corrected crappy behaviour when moving along in the clip.

This also solves a "lag" problem.
parent b27b7a2a
......@@ -124,9 +124,9 @@ void MainWorkflow::getOutput()
if ( m_tracks[i].activated() == false )
continue ;
m_nbTracksToRender.fetchAndAddAcquire( 1 );
if ( m_tracks[i]->getOutput( m_currentFrame ) != false )
{
m_nbTracksToRender.fetchAndAddAcquire( 1 );
break ;
}
}
......@@ -195,7 +195,7 @@ void MainWorkflow::setPosition( float pos )
qint64 frame = static_cast<qint64>( (float)m_length * pos );
m_currentFrame = frame;
emit frameChanged( frame );
cancelSynchronisation();
// cancelSynchronisation();
//Do not emit a signal for the RenderWidget, since it's the one that triggered that call...
}
......
......@@ -275,7 +275,6 @@ bool TrackWorkflow::getOutput( qint64 currentFrame )
{
qint64 start = it.key();
ClipWorkflow* cw = it.value();
//Is the clip supposed to render now ?
if ( start <= currentFrame && currentFrame <= start + cw->getClip()->getLength() )
{
......@@ -299,7 +298,9 @@ bool TrackWorkflow::getOutput( qint64 currentFrame )
++it;
}
if ( hasRendered == false )
{
clipWorkflowRenderCompleted( NULL );
}
return hasRendered;
}
......@@ -403,7 +404,9 @@ void TrackWorkflow::clipWorkflowRenderCompleted( ClipWorkflow* cw )
//When there is nothing to render, m_nbClipToRender will be equal to one here, so we check for minus
//or equal to 0
if ( m_nbClipToRender <= 0 )
{
emit renderCompleted( m_trackId );
}
}
unsigned char* TrackWorkflow::getSynchroneOutput()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment