]> git.donarmstrong.com Git - lilypond.git/blobdiff - lib/duration-convert.cc
release: 0.0.65
[lilypond.git] / lib / duration-convert.cc
index 1b738507af96665162d7cf170b457c6fe3d6bf83..4a46bf9e64b69caacb6abbd9141add9a9e26e828 100644 (file)
@@ -121,18 +121,23 @@ Duration_convert::mom2standardised_dur( Moment mom )
        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() ];