Cleanup locking for OSC playback.
This commit is contained in:
parent
95175c3e2b
commit
338e66c759
|
@ -51,11 +51,7 @@ OSC_Thread::process ( void )
|
|||
{
|
||||
usleep( 100 * 1000 );
|
||||
|
||||
lock();
|
||||
|
||||
timeline->process_osc();
|
||||
|
||||
unlock();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1479,16 +1479,16 @@ Timeline::add_track ( Track *track )
|
|||
{
|
||||
DMESSAGE( "added new track to the timeline" );
|
||||
|
||||
engine->lock();
|
||||
wrlock();
|
||||
|
||||
osc_thread->lock();
|
||||
engine->lock();
|
||||
|
||||
tracks->add( track );
|
||||
|
||||
osc_thread->unlock();
|
||||
|
||||
engine->unlock();
|
||||
|
||||
unlock();
|
||||
|
||||
/* FIXME: why is this necessary? doesn't the above add do DAMAGE_CHILD? */
|
||||
redraw();
|
||||
|
||||
|
@ -1500,17 +1500,17 @@ Timeline::remove_track ( Track *track )
|
|||
{
|
||||
DMESSAGE( "removed track from the timeline" );
|
||||
|
||||
engine->lock();
|
||||
wrlock();
|
||||
|
||||
osc_thread->lock();
|
||||
engine->lock();
|
||||
|
||||
/* FIXME: what to do about track contents? */
|
||||
tracks->remove( track );
|
||||
|
||||
osc_thread->unlock();
|
||||
|
||||
engine->unlock();
|
||||
|
||||
unlock();
|
||||
|
||||
/* FIXME: why is this necessary? doesn't the above add do DAMAGE_CHILD? */
|
||||
redraw();
|
||||
}
|
||||
|
@ -1708,6 +1708,8 @@ Timeline::process_osc ( void )
|
|||
{
|
||||
THREAD_ASSERT( OSC );
|
||||
|
||||
rdlock();
|
||||
|
||||
/* reconnect OSC signals */
|
||||
for ( int i = tracks->children(); i-- ; )
|
||||
{
|
||||
|
@ -1719,5 +1721,7 @@ Timeline::process_osc ( void )
|
|||
c->process_osc();
|
||||
}
|
||||
}
|
||||
|
||||
unlock();
|
||||
}
|
||||
|
||||
|
|
|
@ -582,16 +582,16 @@ Track::remove ( Control_Sequence *t )
|
|||
if ( ! control )
|
||||
return;
|
||||
|
||||
engine->lock();
|
||||
timeline->wrlock();
|
||||
|
||||
timeline->osc_thread->lock();
|
||||
engine->lock();
|
||||
|
||||
control->remove( t );
|
||||
|
||||
timeline->osc_thread->unlock();
|
||||
|
||||
engine->unlock();
|
||||
|
||||
timeline->unlock();
|
||||
|
||||
resize();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue