Timeline: Don't send the same OSC control sequence value twice and so avoid messing with OSC learning in non-mixer when transport is stopped.

This commit is contained in:
Jonathan Moore Liles 2020-11-17 19:53:06 -08:00
parent e290c6ea60
commit 1f0f01c0ad
1 changed files with 8 additions and 5 deletions

View File

@ -634,12 +634,15 @@ Control_Sequence::process_osc ( void )
if ( _osc_output() )
{
sample_t buf[1];
sample_t buf = 0;
play( &buf, (nframes_t)transport->frame, (nframes_t) 1 );
*buf = 0;
play( buf, (nframes_t)transport->frame, (nframes_t) 1 );
_osc_output()->value( (float)buf[0] );
/* only send value if it is significantly different from the last value sent */
if ( fabsf( _osc_output()->value() - (float)buf ) > 0.001 )
{
_osc_output()->value( (float)buf );
}
}
}