for ( int i = 0; i < dur_array_s.size() - 1; i++ ) {
Moment lower_mom = dur2_mom( dur_array_s[ i ] );
if ( mom <= lower_mom ) {
- // all arbitrary, but 1/4 will get rid of the noise...
-// if ( i || ( mom / lower_mom > Moment( 3, 4 ) ) )
-//kinda ok if ( i || ( mom / lower_mom > Moment( 2, 4 ) ) )
- if ( i || ( mom / lower_mom > Moment( 2, 6 ) ) )
+ // all arbitrary, but 3/4 will get rid of the noise...
+ // kinda ok
+ if ( i || ( mom / lower_mom > Moment( 3, 4 ) ) )
return dur_array_s[ i ];
else
return Duration( 0 );
}
Moment upper_mom = dur2_mom( dur_array_s[ i + 1 ] );
+#if 0 // % deviation of upper/lower from mom, perhaps it's better to use
if ( ( mom < upper_mom )
&& ( ( mom - lower_mom ) / mom
< ( upper_mom - mom ) / mom ) )
+#else // % deviation of mom from lower/upper?
+ if ( ( mom < upper_mom )
+ && ( ( mom - lower_mom ) / lower_mom
+ < ( upper_mom - mom ) / upper_mom ) )
+#endif
return dur_array_s[ i ];
}
// return dur_array_s[ dur_array_s.length_i() ];