Browse Source

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.

tags/non-daw-v1.3.0
Jonathan Moore Liles 2 years ago
parent
commit
1f0f01c0ad
1 changed files with 9 additions and 6 deletions
  1. +9
    -6
      timeline/src/Control_Sequence.C

+ 9
- 6
timeline/src/Control_Sequence.C View File

@@ -634,12 +634,15 @@ Control_Sequence::process_osc ( void )

if ( _osc_output() )
{
sample_t buf[1];

*buf = 0;
play( buf, (nframes_t)transport->frame, (nframes_t) 1 );
_osc_output()->value( (float)buf[0] );
sample_t buf = 0;
play( &buf, (nframes_t)transport->frame, (nframes_t) 1 );

/* 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 );
}
}
}



Loading…
Cancel
Save